我有一个非常简单的问题,我真的不明白。如果陈述似乎跳过,但要求符合
我有一个方法,它接受一个字符串并确定该字符串的第一个字符是什么,然后返回它。
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的intstead,它skipps if语句,并返回 “F” 时,我知道肯定是的keyValue “C”。
为什么会发生这种情况?
要求未满足时所有。请参阅http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java – Bart
字符串使用.equals()而不是==运算符。 – leigero
要比较两个字符串,您应该使用equals方法:if(keyValue.equals(“C”)){ – alfredaday