toLowerCase()奇怪的行为

时间:2014-01-09 11:46:41

标签: java

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");
}

1 个答案:

答案 0 :(得分:3)

使用if ((gender+"").toLowerCase().equals("m"))。您不应使用==运算符来比较String的值。请改用equals()方法。了解how the comparison of strings with equals and assignment operator