2011-11-16 6 views
0

これは、BPBPfalseを出力します。分割された配列は、同じ内容の定義済み配列と同じではありませんか?

文字列が完全に同じであるときにブール値がfalseになる理由は本当に混乱しています。

なぜ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); 

} 

} 

OUTPUT - 彼らは別のオブジェクトであるため、BPBPfalse

答えて

2
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 
+0

答えはあなたの問題を解決した場合は、正しい答えとしてフラグをすべきおかげ –

+0

笑....あなたは私を起こしていたどのくらいの痛みが分からない....ありがとうございました – leflings

関連する問題