Printing reference to an object
本问题已经有最佳答案,请猛点这里访问。
我是Java新手。比如说,我有一个班级的学生。我想打印
1 2 |
上面的代码给出如下输出:
1 | Individual@1922221 |
号
如果要打印任何对象的有意义的内容,必须实现自己的
样本代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | public class Individual { private String name; private String city; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } @Override public String toString() { StringBuilder builder = new StringBuilder(); builder.append("Name of Individual :").append(this.getName()) .append(" City :").append(this.getCity()); return builder.toString(); } public static void main(String[] args) { Individual individual = new Individual(); individual.setName("Crucified Soul"); individual.setCity("City of Crucified Soul"); System.out.println(individual); } } |
输出:
1 2 |
号
如果有更大的类和许多变量,可以使用xstream来实现toString()方法。XStream将以XML格式打印有意义的对象。甚至可以将它们解析回等效的对象。希望这对你有帮助。
这是默认toString()方法的结果-classname+hashcode。这可以通过重写ToString()来重写。
请参考:http://www.javapractices.com/topic/topication.do?ID=55
由于还没有解释过,重写toString()方法只意味着在类中创建自己的toString()方法。通过在你的类中放置你自己的toStReg()版本,你就可以让Java使用你的toStReg()方法而不是默认的方法。但是,由于原始toString()方法返回字符串,所以toString()方法还必须返回字符串。您的个人类如下所示:
1 2 3 4 5 6 7 8 9 | public class Individual{ //any other code in the class public String toString(){ return"your string"; } } |
然后,当您调用System.out.print(ind)时,它将打印出您的字符串。
我认为你想改写个人的字符串。参见http://DOCS.Oracle .COM/JavaSe/ 6 /DOCS/API/Java/Lang/Objult.html