Java:如何打印整个字符串数组?

时间:2014-02-06 23:47:21

标签: java arrays printing

我正在尝试打印七个字符串的数组,并且在打印之前使用get方法将它们返回到min,但每当我运行它时,控制台上会出现一些随机的乱码:[Ljava.lang.String ; @ 6d6de4e1

这是我的get方法

String[] getStuff(){
    return stuff;
}

以下是主要类的打印方法:

System.out.println(trex.getStuff());

该数组完全有效且充满了Strings,所以我不确定这个错误是什么。

6 个答案:

答案 0 :(得分:2)

您想要打印内部对象的字符串值,而不是数组的字符串值。幸运的是,java有一个内置的:Arrays.deepToString()

所以你的打印代码应该是:

System.out.println(Arrays.deepToString(trex.getStuff()));

答案 1 :(得分:1)

您正在打印对七个字符串的引用,而不是7个字符串。 要打印出String,请使用for循环

for (String str : array) {
    System.out.println(str);
}

或使用静态数组方法Arrays.toString(array);

答案 2 :(得分:0)

您可以使用Arrays.toString()静态助手方法,如下所示:

System.out.println(java.util.Arrays.toString(trex.getStuff()));

答案 3 :(得分:0)

您正在尝试打印list

相反,请尝试通过element循环迭代列表中的每个for

for(String str : trex.getStuff()) System.out.println(str);

答案 4 :(得分:0)

您始终可以使用Arrays.toString(String[])。导入java.util.Arrays;

否则,您可以遍历返回的数组。 你所看到的是数组开始的内存地址,而不是它的元素。

答案 5 :(得分:0)

你需要做一个for循环并打印出数组中的每个项目。例如:

String[] arr = trex.getStuff();
   for (int i=0; i<arr.length; i++) {
        System.out.println(arr[i]);
    }