Eri*_*rom 1 java string if-statement equals
我有一个非常简单的问题,我真的无法理解.
我有一个方法,它接受一个字符串,并确定字符串的第一个字符是什么,然后返回它.
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";
}
Run Code Online (Sandbox Code Playgroud)
但是,对于一个示例keyValue = C而不是返回,它会跳过if语句并在我确定keyValue为"C"时返回"F".
为什么会这样?
首先,检查我如何比较字符串?
其次,您不必将char转换为String来检查其值,您可以像下面这样做
res = value.charAt(0);
//keyValue = Character.toString(res); NOT REQUIRED
if (res == 'C'){
return Character.toString(res);
} else if (res == 'G') {
Run Code Online (Sandbox Code Playgroud)