相关疑难解决方法(0)

如何在不获取"SomeType @ 2f92e0f4"的情况下打印我的Java对象?

我有一个类定义如下:

public class Person {
  private String name;

  // constructor and getter/setter omitted
}
Run Code Online (Sandbox Code Playgroud)

我试图打印我的班级实例:

System.out.println(myPerson);
Run Code Online (Sandbox Code Playgroud)

但我得到了以下输出:com.foo.Person@2f92e0f4.

当我尝试打印一个Person对象数组时发生了类似的事情:

Person[] people = //...
System.out.println(people); 
Run Code Online (Sandbox Code Playgroud)

我得到了输出: [Lcom.foo.Person;@28a418fc

这个输出是什么意思?如何更改此输出以使其包含我的人名?我如何打印我的对象集合?

注意:这是关于此主题的规范问答.

java string object tostring

283
推荐指数
8
解决办法
29万
查看次数

如何将List <String>转换为逗号分隔的字符串,而不显式迭代List

List<String> ids = new ArrayList<String>();
ids.add("1");
ids.add("2");
ids.add("3");
ids.add("4");
Run Code Online (Sandbox Code Playgroud)

现在我希望此列表中的输出为1,2,3,4而不显式迭代它.

java list

161
推荐指数
11
解决办法
24万
查看次数

如何使用Java中的toString方法将int数组转换为String

我正在尝试使用该toString(int[])方法,但我认为我做错了:

http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Arrays.html#toString(INT [])

我的代码:

int[] array = new int[lnr.getLineNumber() + 1];
int i = 0;

System.out.println(array.toString());
Run Code Online (Sandbox Code Playgroud)

输出是:

[I@23fc4bec
Run Code Online (Sandbox Code Playgroud)

我也尝试过像这样打印,但是:

System.out.println(new String().toString(array));  // **error on next line**
The method toString() in the type String is not applicable for the arguments (int[])
Run Code Online (Sandbox Code Playgroud)

我从更大更复杂的代码中获取了这些代码,但是如果需要我可以添加它.但这应该提供一般信息.

我正在寻找输出,就像在Oracle的文档中一样:

字符串表示由数组元素的列表组成,用方括号括起来("[]").相邻元素由字符","(逗号后跟空格)分隔.

java arrays tostring

139
推荐指数
5
解决办法
48万
查看次数

标签 统计

java ×3

tostring ×2

arrays ×1

list ×1

object ×1

string ×1