【问题标题】:Comparing two string in Java not giving the expected result [duplicate]比较Java中的两个字符串没有给出预期的结果[重复]
【发布时间】:2015-06-24 03:54:29
【问题描述】:

我是初学者,我想在EditText 中获取文本并将其与另一个字符串进行比较。

我想检查EditText 中写入的文本是否等于“字符串”,然后显示Toast,但它不起作用

我调试并检查两者的值都是 admin 但 if 块不起作用并显示 else 块。

if (editText.getText().toString() == "admin") {
    //Never enter this block when i type "admin" in the EditText.
    Toast.makeText(MainActivity.this,"ok",Toast.LENGTH_LONG).show();
} else {
    Toast.makeText(MainActivity.this,"Wrong User Or Pass",
}

【问题讨论】:

  • 这是一个JAVA 问题,不是android。看看this post

标签: java android string string-comparison


【解决方案1】:

你必须使用String.equals()方法进行字符串匹配。

把你的代码改成这个

    if (editText.getText().toString().equals("admin")) {
        //your code
    }

.

【讨论】:

    【解决方案2】:

    不要使用 == 来比较字符串,因为字符串不是原始数据类型 而是使用 user.equals("admin")

    【讨论】:

      【解决方案3】:

      您可以使用equalsIgnoreCase

      此方法将此字符串与另一个字符串进行比较,忽略大小写考虑。如果两个字符串的长度相同,则认为它们相等不区分大小写,并且两个字符串中的对应字符相等,不区分大小写。

          btn.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View v) {
      
      
                  if (user.equalsIgnoreCase("admin")) {
      Toast.makeText(MainActivity.this,"ok",Toast.LENGTH_LONG).show();
      
                  }
                  else {
                      Toast.makeText(MainActivity.this,"Wrong User Or Pass",Toast.LENGTH_LONG).show();
                      Toast.makeText(MainActivity.this,user,Toast.LENGTH_LONG).show();
      
                  }
      
          });
      

      【讨论】:

      • 为什么要忽略大小写?
      • 如果您不关心 String 是写在 Majuscule 还是 Minuscule 中,则使用忽略大小写。
      【解决方案4】:

      当我使用这种方式时,我解决了我的问题。

        boolean result = String1.equals(String2);
          if (result)
          {
              return  true;
          }
          else
          {
              return  false;
          }
      

      【讨论】:

        猜你喜欢
        • 2013-03-09
        • 1970-01-01
        • 2016-05-12
        • 2012-06-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-16
        • 1970-01-01
        相关资源
        最近更新 更多