从string[]的数组列表中打印一个字符串



我有一个包含字符串数组的数组列表,我是这样构建的:

String[] words = new String[tokens.length];

在我的ArrayList中有三个像上面这样的数组:

surroundingWords.add(words);
surroundingWords.add(words1);
surroundingWords.add(words2);

现在,如果我想打印出在surroundingWords中字符串数组中的元素…我不能。我能得到的最接近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);
                                                       ^

帮助!

我已经尝试过这里的解决方案:打印和访问列表

试试这样

public class Snippet {
    public static void main(String[] args) {
        List<String[]> lst = new ArrayList<String[]>();
        lst.add(new String[] {"a", "b", "c"});
        lst.add(new String[] {"1", "2", "3"});
        lst.add(new String[] {"#", "@", "!"});
        for (String[] arr : lst) {
            System.out.println(Arrays.toString(arr));
        }
    }
}

Object转换为String[]:

String[] strings = (String[]) surroundingWords.get(i);

或使用参数化的ArrayList:

ArrayList<String[]> surroundingWords = new ArrayList<String[]>();

那么您将不必强制转换get()的返回值

相关内容

  • 没有找到相关文章

最新更新