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,数字比较使用==。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询