【原创】区分"=="与equals()
2005-07-11 22:40
323 查看
今天整理了一下前段时间学习做的笔记,希望对大家有帮助!
"=="判断的是两个变量是否引用同一个对象,而equals()比较的是内容,equals()是String里的方法。
对象相同:简单地说就是内存里有一个对象,但有两个变量都是指向它,就象一个人有两个名字但是同一个人。所以它的内部结构也就相同,不会出现一个对象不同值的现象。
使用euqals()返回true的两个变量,用"=="可能返回false。因为euqals()返回的是它的值相等,当用"=="比较时,它们的值是相等的。但是"=="比较的是他们的对象是否相同,就会忽略对值的判断,所以就有可能判断为false。
可以这样更深入的理解:"=="是操作符号,所以功能和使用方法是由JVM决定的。equals()是String类的方法,它是使用JVM上的功能。这两个不是同一类东西,可以说"=="比equals()更原始。
"=="判断的是两个变量是否引用同一个对象,而equals()比较的是内容,equals()是String里的方法。
对象相同:简单地说就是内存里有一个对象,但有两个变量都是指向它,就象一个人有两个名字但是同一个人。所以它的内部结构也就相同,不会出现一个对象不同值的现象。
使用euqals()返回true的两个变量,用"=="可能返回false。因为euqals()返回的是它的值相等,当用"=="比较时,它们的值是相等的。但是"=="比较的是他们的对象是否相同,就会忽略对值的判断,所以就有可能判断为false。
可以这样更深入的理解:"=="是操作符号,所以功能和使用方法是由JVM决定的。equals()是String类的方法,它是使用JVM上的功能。这两个不是同一类东西,可以说"=="比equals()更原始。
相关文章推荐
- JAVA中null,"",equals,==相互之间使用详解
- "=="和equals方法究竟有什么区别
- 【Vegas原创】ORA-01103:"database name *** in control file is not @@@" 解决
- java中"=="和equals方法究竟有什么区别?
- equals与"=="的区别和理解
- Java中"equals"和"=="的区别
- "="与"equals"
- Java中"=="和equals方法在字符串比较中的不同
- 对象比较:"==" "equals()" "hashCode()"
- [原创]What is "Type" in managed heap?
- c#中"=="和equals的区别
- 区分JS中的undefined,null,"",0,false
- 关于Integer类中equals和"=="的区别
- 谈谈java的"=="和equals
- spring scope="prototype" 和scope="singleton"区分
- 数组的声明、 equals 和 "=="
- "=="和equals方法究竟有什么区别?
- equals与"=="
- "=="和equals方法究竟有什么区别?
- js中的"=="和equals()以及is()三者的区别