我在Android Studio中尝试以下代码。在Debugging时,我发现即使变量B的值为“(”我的if语句没有执行并将鼠标悬停在它上面,它也显示为false(请参考图像)。 在这种情况下,ScreenText的值是“6(”。
感谢任何帮助。
答案 0 :(得分:2)
您应该使用.equals()
方法比较字符串。在这种情况下,为了防止在B变量为null的情况下出现空指针异常,你应该这样做:
if("(".equals(B)) {
...
}
答案 1 :(得分:1)
*message = (char*)calloc([dMessage length], 1);
运算符用于参考比较,以检查两个对象是否具有相同的引用。
您想要比较两个==
,请使用String
方法。
boolean equals(String)
将if( "(".equals(B)) {
// your logic
}
与B
常量进行比较不需要您进行"("
次检查。
答案 2 :(得分:0)
我认为在Android中比较字符串的更通用的方法是:
namespace AngularWebApi.Controllers
{
public class StoryController : ApiController
{
private static readonly List<Story> apps = new List<Story>
{
new Story
{
ID = 1,
Name = "Test 1",
Descript = "Test 1 Desc",
PreviewImageURL = "/Images/Test1.png",
Views = 1,
Ranking = 1
},
new Story
{
ID = 2,
Name = "Test 2",
Descript = "Test 2 Desc",
PreviewImageURL = "/Images/Test2.png",
Views = 1,
Ranking = 2
},
new Story
{
ID = 3,
Name = "Test 3",
Descript = "Test 3 Desc",
PreviewImageURL = "/Images/Test3.png",
Views = 1,
Ranking = 3
},
};
public IHttpActionResult Get()
{
return Ok(apps);
}
}
}
顺便说一下,在你的代码中
TextUtils.equals(B, "(");
toString()是多余的。
答案 3 :(得分:0)
如果要比较两个字符串的值或内容,请使用.equals()
。
if(string.equals("(")){
//Enter your code
}
但是如果你想检查两个对象指向同一个引用,那么使用==