相关疑难解决方法(0)

ArrayList.toArray()中的Java泛型

假设你有一个arraylist定义如下:

ArrayList<String> someData = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)

稍后在您的代码中,由于泛型,您可以这样说:

String someLine = someData.get(0);
Run Code Online (Sandbox Code Playgroud)

并且编译器完全知道它将获得一个字符串.是的仿制药!但是,这将失败:

String[] arrayOfData = someData.toArray();
Run Code Online (Sandbox Code Playgroud)

toArray()将始终返回一个对象数组,而不是已定义的泛型数组.为什么该get(x)方法知道它返回什么,但toArray()默认为Objects?

java arrays generics

58
推荐指数
5
解决办法
1万
查看次数

标签 统计

arrays ×1

generics ×1

java ×1