问题二:为什么结果不一样?又点乱了
equals的源代码:
public boolean equals(Object obj){
return (this==obj);
}
那么s1.equals(s2)的返回值不就是 (s1==s2) 吗?
但是s1.equals(s2);结果为true s1==s2; 结果为false
问题三:
class Student{
public String name;
public Student(String name){
this.name=name
}
}
Student stu1=new Student("hck");
Student stu2=new Student("hck");
stu1.equals(stu2);结果为false
stu1.equals(stu2)的返回值是(stu1==stu2) 相当于比较地址啊!的却是false
我想问stu1的String name="hck",这个"hck"存在常量池中,它和String s=new String("hck")有什么区别!
String s1=new String("abc");
String s2=new String("abc");
s1.equals(s2);结果为true
Student stu1=new Student("hck");
Student stu2=new Student("hck");
stu1.equals(stu2);结果为false
结果不一样!