嗨我正在玩泛型突然发现一个问题,我得到编译时错误:
类型不匹配:无法从元素类型Object转换为String
import java.util.*;
public class A<T> {
private final T first;
public A(T first) {
this.first = first;
}
public List<String> stringList() {
return Arrays.asList(String.valueOf(first));
}
public static void main(String[] args) {
A p = new A<Object>("TEST");
for (String s : p.stringList())
System.out.print(s + " ");
}
}
我无法理解这种行为,因为String是Object,编译器应该理解,有人能解释一下吗?