假设您有一个如下定义的arraylist:
ArrayList<String> someData = new ArrayList<>();
在稍后的代码中,由于泛型,您可以这样说:
String someLine = someData.get(0);
编译器直接知道它将得到一个字符串。耶,泛型!但是,这将失败:
String[] arrayOfData = someData.toArray();
toArray()
将始终返回一个对象数组,而不是所定义的泛型对象。为什么get(x)
方法知道它返回的是什么,而toArray()
缺省为对象?
https://stackoverflow.com/questions/36598928
复制相似问题