我有一个完整的字符串数组的ArrayList,我这样构建:
String[] words = new String[tokens.length];
我的ArrayList中有三个如上所示的数组:
surroundingWords.add(words); surroundingWords.add(words1); surroundingWords.add(words2);
等等
现在,如果我想在aroundWords中打印出String数组中的元素……我不能.
我可以最接近显示String []数组的内容是它们的地址:
[Ljava.lang.String;@1888759 [Ljava.lang.String;@6e1408 [Ljava.lang.String;@e53108
我尝试了很多不同版本的东西似乎是一样的,最后一次尝试是:
for (int i = 0; i < surroudingWords.size(); i++) { String[] strings = surroundingWords.get(i); for (int j = 0; j < strings.length; j++) { System.out.print(strings[j] + " "); } System.out.println(); }
由于类型不兼容,我无法理解:
found : java.lang.Object required: java.lang.String[] String[] strings = surroundingWords.get(i); ^
救命!
我已经尝试过这里的解决方案:Print and access List
解决方法
将Object转换为String []:
String [] strings =(String [])aroundWords.get(i);
或使用参数化ArrayList:
的ArrayList<字符串[] GT; surroundingWords = new ArrayList< String []>();
然后你不必从get()转换返回值.