Spinner选择不会传入“if”语句

时间:2014-04-26 04:14:45

标签: java android if-statement spinner

我有以下代码:

public void convert()
{

    String val = (String) spinner1.getItemAtPosition(spinner1.getSelectedItemPosition());
    System.out.println(spinner1.getItemAtPosition(spinner1.getSelectedItemPosition()));
    System.out.println(val);
    if(val == "mm" || val == "cm" || val == "m" || val == "km")
    {
        System.out.println("got into if statements");
        initiateLengthConvert();
    }
    System.out.println("never got it");



}

现在,当第一个打印语句打印出来时,如果我选择" mm",则打印出来:

mm
mm
never got it

为什么不会传入if语句? " VAL"并且可能性相匹配,所以对我来说没有任何意义。

2 个答案:

答案 0 :(得分:2)

使用.equals来比较字符串而不是==

if(val.equals("mm") || val.equals("cm") || val.equals("m") || val.equals("km"))

阅读

What is the difference between == vs equals() in Java?

而不是System.out.println("...");使用Log

答案 1 :(得分:1)

试试这个..

==总是只比较两个引用String您应该使用.equals("")

if(val.equals("mm") || val.equals("cm") || val.equals("m") || val.equals("km"))
{
    System.out.println("got into if statements");
    initiateLengthConvert();
}