日期:2014-05-18  浏览次数:20467 次

equals 和==的区别是什么
equals 和==的区别是什么 一直没搞明白

------解决方案--------------------
百度一下 你就知道
http://hi.baidu.com/%EA%BF%D2%C0%B2%A9%BF%CD/blog/item/6e5fd5ef2354205278f05597.html
http://www.cnblogs.com/ju2ender/archive/2010/03/21/1691033.html
------解决方案--------------------
一个比的是地址 一个比的是值
------解决方案--------------------
我还一直没注意过这个问题。
------解决方案--------------------
给你源码你看看,Int32的
C# code

equals 支持和object类型对比

//直接和int型相比,就是 ==
public bool Equals(int obj)
{
    return (this == obj);
}

 //和object对比
public override bool Equals(object obj)
{
    return ((obj is int) && (this == ((int) obj)));
}

------解决方案--------------------
==必须是指向同一对象时值为true,“equals”只要代表的hashcode一样就是true
------解决方案--------------------
==指的是引用是否相同,equals()则指值是否相同,或是对字符串的内容进行比较。
------解决方案--------------------
探讨
equals 和==的区别是什么 一直没搞明白

------解决方案--------------------
探讨
equals 和==的区别是什么 一直没搞明白

------解决方案--------------------
"==": 操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。

"equals":操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。