java 两个字符串 为什么相等
2个回答
展开全部
一般字符串或者数字相等比较的都是内容,只要内容相同就相等了。你可以看下equals和==的区别,分清就可以了。注意下,如果是两个对象的比较还会比较地址值。
java中equals和==的区别
值类型是存储在内存中的堆栈(简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中。
1,==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。
2,equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。
3,==比较的是2个对象的地址,而equals比较的是2个对象的内容。
显然,当equals为true时,==不一定为true.
4,常用的比较:字符串比较相同使用equals,数字比较使用==。
java中equals和==的区别
值类型是存储在内存中的堆栈(简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中。
1,==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。
2,equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。
3,==比较的是2个对象的地址,而equals比较的是2个对象的内容。
显然,当equals为true时,==不一定为true.
4,常用的比较:字符串比较相同使用equals,数字比较使用==。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
equals()用于检测对象的值,即检测对象所引用的内部数据的值。只能用于引用类型。
[br/]
==
用于检测对象引用自身,是否指向同一块内存地址。可用于基本类型,也可以用于引用类型。当用于引用类型时,两边的类型必须一致~
[br/]
[br/]
默认情况下,equals()
和
==
的返回结果是一样的,但是有些类覆盖了equals()。这些类是:string
类,string对象在代表相同字符串时相等。equals()返回真。
[br/]
[br/]
boolean对象在值相同时相等。
[br/]
==
用于检测对象引用自身,是否指向同一块内存地址。可用于基本类型,也可以用于引用类型。当用于引用类型时,两边的类型必须一致~
[br/]
[br/]
默认情况下,equals()
和
==
的返回结果是一样的,但是有些类覆盖了equals()。这些类是:string
类,string对象在代表相同字符串时相等。equals()返回真。
[br/]
[br/]
boolean对象在值相同时相等。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询