字符串数组[0]不传递if

时间:2012-01-23 18:12:40

标签: java android arrays if-statement

大家好,我有一个问题:

我有一个数组

String[] parte

我需要数组的第一个值,所以我做了:

String verifica = parte[0] // It can be N (for Name) L (for List) and E (for Error)

为什么我运行此代码并且我知道“verifica”是L

if (verifica == "L") { //If code
} else { //Else code
}

它总是返回我的Else代码

谢谢你太多了

-Matteo

4 个答案:

答案 0 :(得分:5)

比较Java中的字符串必须使用String.equals()

if (verifica.equals("L")) { //If code

你要做的是比较两个不同的对象,而不是它们的内容。

答案 1 :(得分:2)

您需要使用:

if (verifica.equals("L")) { //If code
} else { //Else code
}

而不是'=='。 Java中的'=='检查内存中的对象标识,此处您需要的功能是比较字符串值。让我遇到这个错误,以便在Java中实现差异(我来自C#背景)。

答案 2 :(得分:1)

使用equals运算符表示字符串:

if (verifica.equals("L"))

答案 3 :(得分:1)

您需要if (verifica.equals("L"))if (verifica.compareTo("L") == 0)==不是比较字符串的可靠运算符。