use*_*857 13 java arrays string initialization arraylist
我怎么能初始化Array的ArrayList<String>?
我尝试了这种语法,但它不起作用:
ArrayList<String>[] subsection = new ArrayList<String>[4];
Run Code Online (Sandbox Code Playgroud)
Mar*_*ers 11
该语法适用于非泛型ArrayList.(ideone)
但它不适用于通用ArrayList<E>:( ideone)
这段代码:
ArrayList<String>[] subsection = new ArrayList<String>[4];
Run Code Online (Sandbox Code Playgroud)
给出编译器错误:
Main.java:8: generic array creation
ArrayList<String>[] subsection = new ArrayList<String>[4];
对于通用版本,请使用ArrayList<ArrayList<E>>:
ArrayList<ArrayList<String>> subsection = new ArrayList<ArrayList<String>>();
Run Code Online (Sandbox Code Playgroud)
你可以像这样定义:
ArrayList<String>[] lists = (ArrayList<String>[])new ArrayList[10];
lists[0] = new ArrayList<String>();
lists[0].add("Hello");
lists[0].add("World");
String str1 = lists[0].get(0);
String str2 = lists[0].get(1);
System.out.println(str1 + " " + str2);
Run Code Online (Sandbox Code Playgroud)
好的,评论后,我想好了...你的权利为什么不.
弄清楚了.
ArrayList[] test = new ArrayList[4];
test[3] = new ArrayList<String>();
test[3].add("HI");
System.out.println(test[3].get(0));
Run Code Online (Sandbox Code Playgroud)
虽然我会说实话,但我不确定为什么会这样.
将第一个测试项目指定为新集合后,它将仅允许阵列中的所有其他项目成为该类型.所以你做不到
test[3] = new ArrayList<String>();
test[2] = new HashSet<String>();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27629 次 |
| 最近记录: |