class Person{
private String name ;
private int age;
public Person(String name,int age){
this.name = name ;
this.age = age ;
}
public String getName(){
return this.name ;
}
public int getAge(){
return this.age ;
}
};
public class CompareDemo02{
public static void main(String args[]){
Person per1 = new Person("张三",30) ;
Person per2 = new Person("张三",30) ;
if(per1.getName().equals(per2.getName())&&per1.getAge()==per2.getAge()){
System.out.println("是同一个人!") ;
}
String per3 = new String("Jiangchanghong");
String per4 = new String("Jiangchanghong");
System.out.println(per3+"\n"+per4);
if(per3.equals(per4)&&per3==per4){
System.out.println("是同一个人!") ;
}
if(per3.equals(per4)){
System.out.println("是同一个人!") ;
}
if(per3==per4){
System.out.println("是同一个人!") ;
}
}
};
运行结果:
是同一个人!
Jiangchanghong
Jiangchanghong
是同一个人!
第一个判断的==是相等的吗?不是说对比内存吗,,,
第二个判断为什么打出来了结果...而第三个和第四个却没打出来,,, |