Массив разделения не совпадает с массивом Defined с тем же содержимым? - PullRequest
0 голосов
/ 16 ноября 2011

Это выводит-BPBPfalse.

Я действительно запутался, почему логическое значение ложно, когда строка, очевидно, точно такая же.

Почему это не BPBPtrue?

Заранее спасибо!

public class mySplit {

public static void main(String myString[])
{
    String myString1= "BP+Car+Bird";
    String myArray[] = {"BP","Car","Bird"};

    String myArray2[]= myString1.split("\\+");
    String A = myArray[0];
    String B = myArray2[0];

    System.out.print(A);
    System.out.print(B);

    boolean One = (A==B);
    System.out.print(One);

}

}

ВЫХОД - BPBPfalse

1 Ответ

2 голосов
/ 16 ноября 2011
A==B

должно быть

A.equals(B)

, потому что это разные объекты.

String one = "one";
String two = one;
boolean isEqual = one == two; // TRUE
boolean notTheSameObject = ("one" == one); // FALSE
boolean areEqual = (one.equals("one")); // TRUE String.equals
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...