打印到控制台时,两个字符串看起来都相同,但使用“==”
进行比较时则不一样我在这里做错了什么?
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);
}
打印:错误
答案 0 :(得分:2)
要比较字符串,您需要使用equals()
方法,而不是==
运算符。
if(matchedRef.equals(myRef)){
System.out.print(true);
}
else{
System.out.print(false);
}
您可以在this question中了解有关String
比较的更多信息。