class er{
public static void main(String arg[]){
Byte b1=new Byte("127");
if(b1.toString()==b1.toString())
System.out.println("true");
else
System.out.println("false");
}
}
public static void main(String arg[]){
Byte b1=new Byte("127");
if(b1.toString()==b1.toString())
System.out.println("true");
else
System.out.println("false");
}
}
===
class er{
public static void main(String arg[]){
Byte b1=new Byte("127");
if(b1.toString().equals(b1.toString()))
System.out.println("true");
else
System.out.println("false");
}
}
——如果让你来实现Byte.toString,你也只能这样做,否则的话,Byte类就需要一个填加一个静态的成员来记住它上次产生的那个String,下次用的时候看看是不是一样,而且还无法做到线程安全,总之乱套了。
对象的比较用到。equals方法比较是对像所指向的值
对象之间用==比较那是比较地址
b1.toString()==b1.toString()你的这个语句其实生成了两个对象实例,在内存中有两块内存地址存放这两个对象实例,所以它一定是false了。
if(b1.toString().intern()==b1.toString().intern())
class er{
public static void main(String arg[]){
Byte b1=new Byte("127");
String str1=b1.toString();
String str2=b1.toString();
if(str1==str2)
System.out.println("true");
else
System.out.println("false");
}
}
对象的比较用到。equals方法比较是对像所指向的值
对象之间用==比较那是比较地址
===================================================
同意~~~~~~,虽然在Object中equal是用来比较两个对象指向的地址,但是在其子类中基本全部重写来用equal比较两个对象的内容。