字符串相等性不评估为true

时间:2012-04-06 12:19:40

标签: java split

我使用分割功能

string = data.con_loop[i].split("\\.");

字符串输入为“0.9.L”。但是,

string[2]=="L"

未评估为true。为什么?

4 个答案:

答案 0 :(得分:2)

您应该使用equals("L")代替==

if(string[2].equals("L"))...

答案 1 :(得分:1)

此外,您可以使用compareTo(string)功能:

if(string[2].compareTo("L")){ // then }

如果字符串等于您指定的内容,

.compareTo()函数将返回0

你应该阅读官方文件: http://docs.oracle.com/javase/6/docs/api/java/lang/String.html

修改:如果compareTo()功能不起作用,请尝试compareToIgnoreCase()

答案 2 :(得分:0)

if(string[2]=="L")

将其更改为

if(string[2].equals("L"))

在您的情况下, == 将检查这两个对象的引用是否相同。因此,如果要检查其内容,则必须使用 equals()方法。

注: == 适用于字符串实习

的概念

答案 3 :(得分:0)

您不需要双斜线,然后使用等于检查

string = data.con_loop[i].split("\.");
if(string[2].equals("L")) {
    //.....
}