Java 为什么变量的未定义泛型参数会删除它的显式泛型参数';s方法';什么是退货类型? 公共抽象类A{ 公共静态无效测试(ai){for(字符串s:i.get()){} 公共抽象Iterable get(); }
为什么上面的代码我得到:Java 为什么变量的未定义泛型参数会删除它的显式泛型参数';s方法';什么是退货类型? 公共抽象类A{ 公共静态无效测试(ai){for(字符串s:i.get()){} 公共抽象Iterable get(); },java,generics,Java,Generics,为什么上面的代码我得到: incompatible types required: String found: Object 但如果我将test方法的参数更改为A,它会编译好吗?为什么变量的未定义泛型参数会删除其方法返回类型的显式泛型参数 为什么变量的未定义泛型参数会删除其方法返回类型的显式泛型参数 A是原始类型。这是一种类型,所有泛型都会在API中被删除,即使是具有固定类型参数的泛型也会被删除 有关更多信息,请参阅和 在这种情况下,如果需要任何A,可以使用通配符: public sta
incompatible types
required: String
found: Object
但如果我将test
方法的参数更改为A
,它会编译好吗?为什么变量的未定义泛型参数会删除其方法返回类型的显式泛型参数
为什么变量的未定义泛型参数会删除其方法返回类型的显式泛型参数
A
是原始类型。这是一种类型,所有泛型都会在API中被删除,即使是具有固定类型参数的泛型也会被删除
有关更多信息,请参阅和
在这种情况下,如果需要任何A
,可以使用通配符:
public static void test(A<?> i)
公共静态无效测试(A i)
publicstaticvoidtest(ai){for(strings:i.get()){}
@TheNewIdiot它是一个静态方法。好的,那么它将是publicstaticvoidtest(ai){for(strings:i.get()){}
重复:您好,先生,我可以在这里得到你的帮助吗?我在这里读了你的帖子。你能告诉我们更多的细节吗?@PankajGarg:请不要通过评论完全无关的问题来寻求帮助。此外,你已经得到了很多答案——这三个答案完全相同。