toLowerCase()将字符串转换为小写,但是当我在逻辑中使用它时,它会产生奇怪的结果。我甚至可以在不使用toLowerCase()的情况下以其他方式执行逻辑,但请告诉我这里有什么问题
char gender = 'M';
System.out.println((gender+"").toLowerCase()); //prints "m"
System.out.println((gender+"").toLowerCase()=="m"); //false
if ((gender+"").toLowerCase()=="m") {
System.out.println("if it went through loop");
}
答案 0 :(得分:3)
使用if ((gender+"").toLowerCase().equals("m"))
。您不应使用==
运算符来比较String
的值。请改用equals()
方法。了解how the comparison of strings with equals and assignment operator