两个字符串是相同的,但如果声明不会工作

时间:2013-10-30 03:33:14

标签: java string if-statement string-comparison

    System.out.println(characters.get(selected).getName());
    // The name printed is "Mario" But the if statement will not
   // work as though the two strings are diffrent but they are the same.
    if(characters.get(selected).getName() == "Mario"){
        playSound("sounds/clickmario.wav");
    }

比较两个字符串,当我调试比较时,“Mario”到“Mario”,所以if语句应该为true但是为false,因为if语句中没有任何内容被读取。为什么会这样?我已经尝试将此.getname分配给tempString并进行比较,但是当它们是相同的字符串时,语句结果为false。请帮忙

3 个答案:

答案 0 :(得分:3)

你必须使用.equals()在java中进行字符串比较

if(characters.get(selected).getName().equals("Mario")){
    playSound("sounds/clickmario.wav");
}

答案 1 :(得分:1)

Refer this for String comparison。 和 对于String的基础知识,请参考this

答案 2 :(得分:0)

使用

if (stra === strb)

它应该在javascript中工作,对于java

if (stra.equals(strb))

然后它也应该工作