黑马程序员技术交流社区
标题:
谁能给我举例说明 string类的 Equals怎么用!?
[打印本页]
作者:
王盛
时间:
2013-6-19 11:29
标题:
谁能给我举例说明 string类的 Equals怎么用!?
本帖最后由 王盛 于 2013-6-20 09:52 编辑
谁能给我举例说明 string类的 Equals怎么用!?
作者:
刘利民
时间:
2013-6-19 11:35
public class Judge {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String st="abc";//这里st和sr都直接指向了"abc"字符串,所以==和equals都是true
String sr="abc";
System.out.println(st == sr);//true
System.out.println(st.equals(sr));//true
String st1 = new String("abc");//在常量池中定义了个"abc"字符串,因为是new出来的,所以会生成一个hash地址值X,变量str指向了这个hash地址值
String sr1 = new String("abc");//这里又new了一个新的hash地址值Y,定义变量sr1指向Y
System.out.println(st1 == sr1);//为什么会是返回false//X和Y两个hash地址值不一样,当然不能用==了
System.out.println(st1.equals(sr1));//true//但是两个hash地址值指向的字符串是一样的,就true了
}
}
其实,论坛里有好多这种例子的,你仔细参考下
http://bbs.itheima.com/forum.php ... ;pre_pos=1&ext=
作者:
道法乾坤110
时间:
2013-6-20 02:04
equals 方法(是String类从它的超类Object中继承的)被用来检测两个对象是否相等,即两个对象的内容是否相等,区分大小写。
string a = new string(new char[] { 'h', 'e', 'l', 'l', 'o' });
string b = new string(new char[] { 'h', 'e', 'l', 'l', 'o' });
Console.WriteLine(a.Equals(b));
作者:
dongqinglove
时间:
2013-6-20 07:07
刘利民的解答很详细,学习了,equals方法是继承自object类,我们在自定义类的时候如果要使用equals方法,记得一定要复写(重写)equals方法
作者:
王盛
时间:
2013-6-20 09:45
刘利民 发表于 2013-6-19 11:35
public class Judge {
/**
灰常给力~!谢谢~!
作者:
王盛
时间:
2013-6-20 09:45
谢谢各位!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2