【发布时间】:2013-08-07 06:02:28
【问题描述】:
我有一个非常简单的问题,我真的无法理解。
我有一个方法,它接受一个字符串并确定字符串的第一个字符是什么,然后返回它。
public String deterFirstChar(String value){
String keyValue;
char res;
res = value.charAt(0);
keyValue = Character.toString(res);
if (keyValue == "C"){
return keyValue;
} else if (keyValue == "G") {
return keyValue;
}
System.out.println("Error: Wrong keyParam");
return "F";
}
但是,例如 keyValue = C,它不会返回,而是跳过 if 语句并在我确定 keyValue 为“C”时返回“F”。
为什么会这样?
【问题讨论】:
-
根本不满足要求。见stackoverflow.com/questions/513832/…
-
字符串使用 .equals() 而不是 == 运算符。
-
比较两个字符串,应该使用equals方法: if (keyValue.equals("C")) {
标签: java string if-statement equals