Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 字符串比较-Android_Java_Android_String - Fatal编程技术网

Java 字符串比较-Android

Java 字符串比较-Android,java,android,string,Java,Android,String,我无法使用以下代码比较两个字符串: 我有一个名为“性别”的字符串,它的值是“男性”或“女性” if(gender == "Male") salutation ="Mr."; if(gender == "Female") salutation ="Ms."; 这不起作用,所以我尝试了以下方法: String g1="Male"; String g2="Female"; if(gender.equals(g1)) salutation ="Mr."; if(gender.equa

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

我有一个名为“性别”的字符串,它的值是“男性”或“女性”

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语句比较字符串值吗。

试试这个

if(gender.equals("Male"))
 salutation ="Mr.";
if(gender.equals("Female"))
 salutation ="Ms.";
同时删除
(分号)

if(gender.equals(g1));
在Java中,新手遇到的最常见错误之一是使用==来比较字符串。您必须记住,==比较对象引用,而不是内容。

试试这个

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

您正在结束if语句
if(gender.equals(g1))在Java中,我们不会像上面那样比较字符串。。。
这里是字符串比较

    if (gender.equalsIgnoreCase("Male")) {
        salutation = "Mr.";
    } else if (gender.equalsIgnoreCase("Female")) {
        salutation = "Ms.";
    }
if(性别等于(g1)) 这应该起作用:

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

记住,不要使用
if
语句之后执行code>。

运算符检查两个对象是否完全相同。两个字符串可以是不同的对象,但具有相同的值(其中的字符完全相同)。使用.equals()方法比较字符串是否相等

您的
gender==“Male”
实际上是在比较对象
gender
和另一个对象
Male
的对象引用。您必须使用
.equals()
方法来比较对象的值。

试试这个

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

            salutation = "Mr.";
        else if (gender.equalsIgnoreCase(g2))

            salutation = "Ms.";
        System.out.println("Welcome " + salutation);
输出:

Welcome Mr.

我认为上面提到的答案是正确的,因为==用于测试两个字符串是否是相同的对象,而.equals()用于测试两个字符串是否具有相同的值

实际上这里的每一个代码都运行得很好,但是您的问题可能来自您的
gender
变量。你试过做一个简单的
System.out.println(性别)在比较之前?

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

要在Java(android)中比较字符串,可以使用方法.compareTo()

所以代码应该是这样的:

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

if (Objects.equals(gender, "Male")) {
    salutation ="Mr.";
} else if (Objects.equals(gender, "Female")) {
    salutation ="Ms.";
}
可以使用,contentEquals()函数。它可能会对你有所帮助。

这一款适合我:

 if (email.equals("fahim@gmail.com") && pass.equals("123ss") ){
        Toast.makeText(this,"Logged in",Toast.LENGTH_LONG).show();
    }
    else{

        Toast.makeText(this,"Logged out",Toast.LENGTH_LONG).show();
    }

此外,如果要比较两个字符串是否不同,可以使用:

String mystring = "something";
!mystring.equals("whatever")

它会变成现实

事实上,如果我们能看到来自性别的信息,我们可以提供更好的帮助

然而,你可以尝试以下内容,也许这是一个案例问题,比如即将到来的性别是男性而不是男性

或者,如果这不起作用,请尝试获取性别信息,并让我们知道它是什么,以便我们能够更好地提供帮助。 你可以这样打印性别

System.out.println(gender);

您可能会在IDE的控制台上看到输出

如果您解释原因,我将+1此:)仔细查看您的代码并删除;在两个if语句的末尾。对不起,我没有使用;在我实际代码中的if stmt之后,在此处键入问题时出错@RaghavKumar输入是什么?为了零安全,我总是把常数放在左边:
if(“Male”.equals(gender))
你从答案中得到解决方案了吗?如果这不起作用,那是因为性别是另一回事。将此添加到图中,说明什么是
Log.d(“性别”,性别)
这是一个更好的解释,为什么不使用==没有“以上”答案,因为顺序随投票数而变化。如果可能,请编辑并指定。tks
if(gender.equalsIgnoreCase("male"){
    salutation = "Mr.";
} else if(gender.equalsIgnoreCase("female"){
    salutation = "Ms.";
}
System.out.println(gender);