1

当我将字符串拆分为字符串数组时,然后尝试将其匹配为字符串。像这样:

String[] thisString = "hello my name is".split(" ");
if (thisString[1] == "my"){
    System.out.print("My!");
}
4

6 回答 6

3

Java 中的对象比较应该使用.equals().

使用.equals()而不是 ==

例子:

thisString[1].equals( "my") 

==比较检查参考相等。equals()比较检查内容是否相等。

于 2012-09-26T18:33:22.827 回答
2

请使用equals 而不是==.

于 2012-09-26T18:33:40.690 回答
2

在这种情况下,您应该使用String.equals来检查字符串内容:

if (thisString[1].equals("my")) {

String.split将为String“my”创建不同的对象引用,因此ìf使用运算符的语句表达式将为 false ==

于 2012-09-26T18:33:53.867 回答
1

== 比较,如果两者都引用同一个对象, 其中 .equals(string) 比较两个字符串是否具有相同的值

所以,使用if (thisString[1].equals("my"))

于 2012-09-26T18:36:42.943 回答
0

You are comparing object and in java for object comparison we have .equals()

so in your case

if (thisString[1].equals("my"))
{
 System.out.print("My!");
}
于 2012-09-26T18:43:54.957 回答
0

您实际上无法使用==. 您需要使用equals()方法,方法如下:

string1.equals(string2)

于 2012-09-26T18:36:56.147 回答