Rag*_*mar 39 java string android
我无法使用以下代码比较两个字符串:
我有一个名为"gender"的字符串,其中包含"Male"或"Female"作为其值.
if(gender == "Male")
salutation ="Mr.";
if(gender == "Female")
salutation ="Ms.";
Run Code Online (Sandbox Code Playgroud)
这不起作用,所以我尝试了以下方法:
String g1="Male";
String g2="Female";
if(gender.equals(g1))
salutation ="Mr.";
if(gender.equals(g2))
salutation ="Ms.";
Run Code Online (Sandbox Code Playgroud)
再一次,它没有用.有人可以告诉我如何使用if语句比较字符串值.
Lin*_*vel 85
试试这个
if(gender.equals("Male"))
salutation ="Mr.";
if(gender.equals("Female"))
salutation ="Ms.";
Run Code Online (Sandbox Code Playgroud)
同样;在if语句中删除(分号)
if(gender.equals(g1));
Run Code Online (Sandbox Code Playgroud)
在Java中,新手遇到的最常见错误之一是使用==来比较字符串.你必须记住,==比较对象引用,而不是内容.
小智 12
与int或其他数字变量不同的字符串在Java中的比较与其他语言不同.
为了比较Java中的字符串(android),使用方法.compareTo();
所以代码应该是这样的:
if(gender.compareTo("Male")==0){
salutation ="Mr.";
}
if(gender.compareTo("Female")==0){
salutation ="Ms.";
}
Run Code Online (Sandbox Code Playgroud)
在Java中,我们不像上面那样比较字符串...这里是字符串比较...
if (gender.equalsIgnoreCase("Male")) {
salutation = "Mr.";
} else if (gender.equalsIgnoreCase("Female")) {
salutation = "Ms.";
}
Run Code Online (Sandbox Code Playgroud)
我认为上面提到的答案是正确的.因为==用于测试两个字符串是否是同一个对象,而.equals()测试两个字符串是否具有相同的值.