我正在尝试打印七个字符串的数组,并且在打印之前使用get方法将它们返回到min,但每当我运行它时,控制台上会出现一些随机的乱码:[Ljava.lang.String ; @ 6d6de4e1
这是我的get方法
String[] getStuff(){
return stuff;
}
以下是主要类的打印方法:
System.out.println(trex.getStuff());
该数组完全有效且充满了Strings,所以我不确定这个错误是什么。
答案 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]);
}