字符串比较 - 安卓

2022-09-01 00:16:28

我无法使用以下代码比较两个字符串:

我有一个名为“gender”的字符串,它将以“Male”或“Female”作为其值。

if(gender == "Male")
   salutation ="Mr.";
if(gender == "Female")
   salutation ="Ms.";

这不起作用,所以我尝试了以下方法:

String g1="Male";
String g2="Female";
if(gender.equals(g1))
   salutation ="Mr.";
if(gender.equals(g2))
   salutation ="Ms.";

同样,它不起作用。有人可以告诉我如何使用if语句比较字符串值吗?


答案 1

试试这个

if(gender.equals("Male"))
 salutation ="Mr.";
if(gender.equals("Female"))
 salutation ="Ms.";

同时删除 if 语句中的(分号 );

if(gender.equals(g1));

在Java中,新手遇到的最常见的错误之一是使用==来比较字符串。你必须记住,==比较对象引用,而不是内容。


答案 2

与 int 或其他数值变量不同的字符串在 Java 中的比较方式与其他语言不同。

为了比较Java(android)中的字符串,它使用方法.compareTo();

所以代码应该是这样的:

if(gender.compareTo("Male")==0){
   salutation ="Mr.";
}
if(gender.compareTo("Female")==0){
   salutation ="Ms.";
}