java 屏幕输入,把输入内容与另一个string判断是否相等,总是false

[复制链接]
查看11 | 回复5 | 2012-11-2 15:37:56 | 显示全部楼层 |阅读模式
这是一个很基本的java中的equals和==的区别,楼主改成.equals 结果就是正确的,==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。 ==比较的是2个对象的地址,而equals比较的是2个对象的内容。显然,当equals为true时,==不一定为true;具体的例子楼主可以在百度搜搜看...
回复

使用道具 举报

千问 | 2012-11-2 15:37:56 | 显示全部楼层
==判断的是对象的地址是否相等,str.equlas(str1);这个才是判断字符串内容是否相等的方法。...
回复

使用道具 举报

千问 | 2012-11-2 15:37:56 | 显示全部楼层

System.out.println("+".equals(strOperate));就行了估计是这两个字符串是两个对象所以使用== 不行 用equals比较就行了...
回复

使用道具 举报

千问 | 2012-11-2 15:37:56 | 显示全部楼层
因为你的System.out.println(strOperate=="+");是==;而你的strOperate不等于+,所以输出false...
回复

使用道具 举报

千问 | 2012-11-2 15:37:56 | 显示全部楼层
System.out.println(strOperate=="+"); 这句改成System.out.println(strOperate.equals("+"))...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行