我有一个对象变量Object test = Spinner.getSelectedItem();
- 它会从微调器(称为微调)所选择的项目和名称的项目“测试”在使用对象if语句...(安卓)
我想做与该物体如if语句:
'if (test = "hello") {
//do something
}'
但它似乎没有工作....
有人可以给我一些帮助吗? - 我必须使用不同的if?或将对象转换为字符串等?
非常感谢......
詹姆斯
我有一个对象变量Object test = Spinner.getSelectedItem();
- 它会从微调器(称为微调)所选择的项目和名称的项目“测试”在使用对象if语句...(安卓)
我想做与该物体如if语句:
'if (test = "hello") {
//do something
}'
但它似乎没有工作....
有人可以给我一些帮助吗? - 我必须使用不同的if?或将对象转换为字符串等?
非常感谢......
詹姆斯
声明:
test = "hello"
是字符串 “hello” 的可变测试的任务 - 它不会做一个比较。
test == "hello"
是一个比较,但仍然可能无法正常工作,因为它比较参考。碰巧是“hello”的两个不同字符串实例可能不是同一个引用,因此该陈述可能是错误的。
尝试:
"hello".equals(test)
如果要比较字符串,使用equals()方法:
if ("hello".equals(test))...
.equals比较对象,而不是字符串。从Object 的java文档布尔型\t equals(Object obj) 指示某个其他对象是否“等于”这一个。 它由String类继承。 – 2010-04-25 17:42:05
这正是我需要的感谢:) – 2010-04-25 17:42:17
@汤姆:当然。我只是希望詹姆斯确保他将一个字符串与一个字符串进行比较(这取决于他的Spinner中的项目类型)。否则,他可能只会收到错误的值。 – 2010-04-25 19:18:27
制作测试一个字符串,并投getSelectedItem()的结果为字符串
string test = (string)Spinner.getSelectedItem();
if (test == "hello")
{
//Do something
}
我试过,出于某种原因,没有工作=/ – 2010-04-25 17:43:39
在说test.equals(“你好”)时也是有效的我不'像另一种方式,它不符合我的编码风格。
但是你必须添加一个额外的空检查。当没有选择任何东西时,AdapterView#getSelectedItem返回null。 – 2010-04-25 20:05:09
我总是讨厌这种推理。我更愿意总是明确地处理空案例,以便清楚地表明我期望为null,或者我不期望为null,而不是运行意外丢失不应该逻辑发生的空值的风险。 – TofuBeer 2010-05-09 05:16:37
好的,谢谢...... *现在就试试吧...... * – 2010-04-25 17:38:58
那正是我所需要的,谢谢:) – 2010-04-25 17:42:49