问题描述
Scannersc=newScanner(System.in);接收到一个字符Y然后与“Y”比较接收到的字符为Y然后能够打印输出,Stringx=sc.next().trim();System.out.println(x.toString().trim());if(x.toString().trim()=="Y"){在这里比较但是出现false。不知道这是为什么。求救s.setIscadre(true);}System.out.println("x==Y:"+(x=="Y"));
解决方案
解决方案二:
这个问题主要是==和equals的区别x.toString().trim()=="Y"这个只是值等于Y如果x.toString().trim().equals("Y")则会是true
解决方案三:
==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。==比较的是2个对象的地址,而equals比较的是2个对象的内容。Strings1="Monday";Strings2=newString("Monday");s1!=s2buts1equalss2
解决方案四:
equals和==的区别。呵呵
解决方案五:
1,2,3正解
解决方案六:
同意4楼说简单点,字符串用equals。
解决方案七:
1.2.3.4正解
解决方案八:
1,2,3,4,5楼正解lz都能写IO程序了,这个不应该不懂。估计疏忽了..
解决方案九:
同上查一下API就一目了然了哈
解决方案十:
呵,解决了吧
解决方案十一:
字符串比较用equals方法比较。
时间: 2024-09-10 23:46:18