日期:2014-05-20  浏览次数:20753 次

求指点关于tostring()问题
下面的程序怎么重写tostring方法使输出结果为这两个引用的地址值,而不是真实值?

package fortest;



public class Test{
public static void main(String[] args){
String s="abc";
String s1="abc";
System.out.println(s);
System.out.println(s1);
}
public String toString(){
return "";
}
}
tostring

------解决方案--------------------
LZ的意思大概是想比较这两个字符串到底是不是指向同一个对象吧,要是这们的话可以直接用“==”操作来比较了。
String类已经重写了Object的toString方法和hashCode方法,想找到在地址值的线索已经让屏蔽掉了。你这个请求是没办法完了。
String这个类可以简单的去理解,第一个String对象有字符串信息,以后有新String类对象,只要和第一个String对象有相同的字符序列,就直接去引用第一个String的字符串,自己不会保存字符串信息了。可以用String类的intern()方法去获得第一个String对象的引用。