2016-07-15 9 views
1

等しい値の文字列と等しくないキャプチャ両方の文字列をコンソールに出力するときと同じように見えますが、「==」正規表現は

を使って比較したとき、私はここで間違って何をしていませんか?

String message = "Rejected | Ref ID: CaptureMe | Name:"; 

Pattern pattern = Pattern.compile("\\bRef ID:\\s+(\\S+)");  

Matcher matcher = pattern.matcher(message); 

String matchedRef = matcher.group(1); 
System.out.print(matchedRef);  

プリント:CaptureMe

String myRef = "CaptureMe"; 

if(matchedRef == myRef){ 
System.out.print(true); 
} 
else{ 
System.out.print(false); 
} 

プリント:FALSE

+1

'matchedRef == myRef'を' matchedRef.equals(myRef) 'に変更しました – anubhava

答えて

2

あなたがequals()方法、ない==演算子を使用する必要がある文字列を比較します。

if(matchedRef.equals(myRef)){ 
    System.out.print(true); 
} 
else{ 
    System.out.print(false); 
} 

あなたはthis questionString比較についての詳細を読むことができます。

+0

とてもシンプルです。ありがとうございました – HappyPoofySquirrel