java 不可比较的类型?

来源:百度知道 编辑:UC知道 时间:2024/06/16 16:18:32
String mm=new String("+-");
if(mm.charAt(0)=="+")【这一步错误,应该怎么改?】
System.out.println("right");

通过索引取出字符串的一个后这个“+”是什么类型的?
后面这个是什么类型的?不可以比较?
好像还是不行呀!!你自己做做看,错误:无法取消引用char

因为charAt方法返回的是char类型的字符
而String是字符串,两种类型是无法直接进行比较的。

只要把mm.charAt(0)=="+"
改成mm.charAt(0)=='+'就可以了

如果问题解决,请采纳本答案。

==是判断2个对象是否引用自同一个对象,换句话说,指它们的内存地址是否相同。
这里你应该用equals()方法
这样写:
if(mm.charAt(0).equals("+"))
其余地方不变