首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android Strings和if语句

android Strings和if语句
EN

Stack Overflow用户
提问于 2015-06-28 08:45:29
回答 3查看 39关注 0票数 0

我相信这真的很简单,但它让我心烦

我使用以下代码

代码语言:javascript
复制
    String name = Global.PicName2;
    String tempstr = name.substring(0, 3).trim();
    Toast.makeText(getBaseContext(), tempstr, Toast.LENGTH_LONG).show();


    if (tempstr == "Sou"){Toast.makeText(getBaseContext(), "Yes", Toast.LENGTH_LONG).show();}

现在,第一份演讲会报告,tempstr是"Sou“,我检查了字符串的长度,它有3个字符长,我已经修剪了任何空格。

但是它不会通过if声明和祝酒词是的

如果我加上这行

代码语言:javascript
复制
    tempstr="Sou";

在第一次祝酒之后,它经过if语句,这样说它是错的,但我不知道为什么。

它把我逼疯了有什么想法吗?

感谢你的任何帮助

标记

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-06-28 08:47:46

使用

代码语言:javascript
复制
 if(tempStr.equals("Sou")){

}
票数 1
EN

Stack Overflow用户

发布于 2015-06-28 08:52:05

因为您正在寻找值相等检查。您应该使用tempstr.equals("Sou")

==运算符检查引用相等,而.equals()检查值相等。

票数 1
EN

Stack Overflow用户

发布于 2015-06-28 09:08:25

在Java中,当“==”操作符用于比较2个对象时,它会检查对象是否引用内存中相同的位置。换句话说,它检查两个对象名称是否基本上是对同一个内存位置的引用。一个非常简单的例子将有助于澄清这一点:

http://www.programmerinterview.com/index.php/java-questions/java-whats-the-difference-between-equals-and/

//不检查对象是否相同

代码语言:javascript
复制
if (tempstr == "Sou") // ==” operator is used to compare 2 objects, 
{
   Toast.makeText(getBaseContext(), "Yes", Toast.LENGTH_LONG).show();
}

//右

代码语言:javascript
复制
if(tempStr.equals("Sou")){

}

代码语言:javascript
复制
if(tempStr.equalsIgnoreCase("Sou")){ // you can ignoring case 

}

operators.htm

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31097724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档