Java泛型在ArrayList.toArray()方法中
- 论坛
- Java泛型在ArrayList.toArray()方法中
12 浏览
Java泛型在ArrayList.toArray()方法中
假设你有一个定义如下的数组列表:
ArrayListsomeData = new ArrayList<>();
在你的代码中的后面,由于泛型的存在,你可以这样说:
String someLine = someData.get(0);
编译器立即知道它将得到一个字符串。泛型太棒了!然而,以下代码将失败:
String[] arrayOfData = someData.toArray();
toArray()
方法总是返回一个对象数组,而不是定义的泛型数组。为什么get(x)
方法知道它返回的是什么,而toArray()
方法默认为对象呢?