android比较两个字符串,关于java:两个字符串的比较在android中不起作用

本问题已经有最佳答案,请猛点这里访问。

这是我的代码,Eclipse没有显示任何错误,程序运行良好,但它不能完全满足我的需要:)

View image_view_danger_rate = (ImageView) findViewById(R.id.origin);

View image_view_origin = (ImageView) findViewById(R.id.danger_rate);

String entry_tag = (String) descriptionResultView.findViewById(resID).getTag();

String dangerous ="dangerous";

String not_dangerous ="not_dangerous";

if ( entry_tag == dangerous) {

image_view_danger_rate.setBackgroundResource(R.drawable.attention);

}else if ( entry_tag == not_dangerous) {

image_view_danger_rate.setBackgroundResource(R.drawable.its_ok);

image_view_origin.setBackgroundResource(R.drawable.artificial);

}

应用程序应该在屏幕上弹出的两个图像之间进行选择,这取决于存储在XML文件中的标记。所以,如果标签上写着"危险",那么应该显示"注意"的图像。如果标签上写着"不危险",就应该有"它的好"的图片。

现在,在不进行中频比较的情况下显示图像非常有效。

如果我把标签打印成一个字符串,它就会工作,它会根据标签正确地打印"危险"或"不危险"。

但是如果有一个如上图所示的if比较,则不会发生任何事情,也不会显示任何图像。

请任何人帮忙!=)

+一个详尽而完整的问题。

这个问题在这个网站上被问到的次数比我想找的要多。请使用搜索功能。

@Woot4Moo复制并不一定很糟糕。blog.stackoverflow.com/2010/11/…

@Woot4Moo你与这个假设重复的问题的联系甚至与这个问题都没有关系。

马塞洛甚至还和这个网站上的其他例子有细微的不同,关于那些不知道如何在Java中进行字符串比较的人?

由于没有新的编辑,现在将投票改为关闭已经太迟了:stackoverflow.com/questions/995918/java-string-comparison

我们不要把comparison和equality混为一谈。

使用string1.equalsIgnoreCase("something)或.equals("Something");。

在爪哇中,用EDCOX1×2(字符串)比较它们是相同的引用。就像你做的测试,如果它们都是字符串对象。

我刚刚学到了一些非常重要的东西!这对我有用……谢谢你的快速回答!

在Java中,A==B用于比较2个引用,而不是对象本身。

因此,如果有两个要比较的字符串,请对字符串使用equals()方法。例如:

boolean resultOfComparison=stringA.equals(stringB);

多亏你们所有人,这就是解决办法!

使用

entry_tag.equals(dangerous)

您正在比较实际的字符串对象,而不是它们的内容。在爪哇中,运算符不重载,所以S==不能用于比较字符串。

多亏你们所有人,这就是解决办法!

在Java中,如果要比较字符串,则需要使用EDCOX1×3:

if (entry_tag.equals(dangerous)) {

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值