java - String.equals() 总是返回真

标签 java android string

K 想要比较两个字符串,但是 equals() 方法总是返回 true ,所以 if 语句总是运行。为什么会这样?

resultString = "Test1";
String CompleteString = "Test";
if(CompleteString.equals(resultString));
{
   rowView.setBackgroundResource(R.color.listselect_red);
}

最佳答案

if(CompleteString.equals(resultString)); <-- 移除 ;

您的代码等同于:

if(CompleteString.equals(resultString))
{
  //empty block
}
{
   rowView.setBackgroundResource(R.color.listselect_red);
}

因此,如果 equals 返回 true,将执行空 block ,并且在第二个 block 之后将始终执行,无论 if 是 false 还是 true.

关于java - String.equals() 总是返回真,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20582392/

相关文章:

android - 将来自多个加载器/游标的数据加载到android中的 ListView 中

c# - 如何使字符串插值与字典一起工作

string - 在 Pascal/Inno Setup 中去除引号

java - 如何使用 Selenium Webdriver 单击带空格的 CSS

java - 如果客户端没有转发端口,如何从服务器接收 "pong"

java - 如何永远隐藏 View

Java 在单词中间用引号分隔字符串

java - 我正在尝试用 Java 制作一个带有 GUI 的计算器

java - 了解 Java 泛型的类型安全异常

android - 如何在 Kotlin 中创建一个简单的倒数计时器?