标签:正式 一个 rgs public 异常 string类 util nta ++
Java中的每个类从根本上都继承自Object,标准容器类自然也不例外。因此容器都有toString()方法,并且覆盖了该方法,使得它生成的String结果能够表达容器自身,以及容器所包含的对象。例如ArrayList.toString(),它会遍历ArrayList中包含的所有对象,调用每个元素上的toString()方法;
如果你希望toString()方法打印出对象的内存地址,也许你会考虑使用this关键字:
//: strings/InfiniteRecursion.java
// Accidental recursion.
// {RunByHand}
package July_20;
import java.util.ArrayList;
import java.util.List;
public class InfiniteRecursion {
public String toString() {
return " InfiniteRecursion address: " + this + "\n";
}
public static void main(String[] args) {
List<InfiniteRecursion> v = new ArrayList<InfiniteRecursion>();
for(int i = 0; i < 10; i++)
v.add(new InfiniteRecursion());
System.out.println(v);
}
}
///~
如果你真的想要打印出对象的内存地址,应该调用Object.toString()方法,这才是负责此任务的方法。所以,你不该使用this,而是应该调用super.toString()方法。
标签:正式 一个 rgs public 异常 string类 util nta ++
原文地址:https://www.cnblogs.com/cgy-home/p/11216572.html