Android 有人能告诉我为什么这个街区不好用吗?
代码: 日志:Android 有人能告诉我为什么这个街区不好用吗?,android,string,if-statement,boolean-logic,Android,String,If Statement,Boolean Logic,代码: 日志: String my = c.getString(c.getColumnIndexOrThrow("ringtype")); Log.e("my", my); if(my=="default") { Log.e(tablename, "button marked not visable1"); } else { Log.e(tablename, "button marked visable2"); } 我还尝试了Log.e(“我的”,“我的+”!“+my+”!”)
String my = c.getString(c.getColumnIndexOrThrow("ringtype"));
Log.e("my", my);
if(my=="default")
{
Log.e(tablename, "button marked not visable1");
}
else
{
Log.e(tablename, "button marked visable2");
}
我还尝试了Log.e(“我的”,“我的+”!“+my+”!”)
查看是否有隐藏的空白区将其丢弃。但事实并非如此。据我所知,这两个是匹配的,我应该得到的信息是按钮不可见
所以我肯定错过了什么,但我不知道是什么
编辑:谢谢大家,如果可以的话,我会接受所有的答案,因为它们是有意义的。String无法与之相比==
使用like
if(my.equals(“默认”))
字符串不能与==
使用like
if(my.equals(“default”)
尝试my.equals(“default”)
而不是my==“default”
尝试my.equals(“default”)
而不是my==“default”“my”是不同的对象,而“default”是另一个对象。。当您使用“==”运算符时,它会比较实际地址/引用,其中as“.equals”比较内容。。因此,使用.equals“我的”是不同的对象,“默认”是另一个对象。。当您使用“==”运算符时,它会比较实际地址/引用,其中as“.equals”比较内容。。因此,使用.equals您可以使用if(my.equals(“默认”))
检查if(my.equals(“默认”)
07-28 02:10:57.396: ERROR/my(16204): default
07-28 02:10:57.404: ERROR/meds(16204): button marked visable2