프로그래밍/Java
[Java] String.contains() with empty String, return true
DwEnn
2019. 10. 3. 17:29
728x90
반응형
아래의 코드를 보자.
String myString1="foo";
String myString2="";
if(myString1.contains(myString2)){
System.out.println("Am here");
} else {
System.out.println("Am not here");
}
foo 가 "" ( empty string ) 을 포함하냐는 것인데, 언뜻 보면 false
로 "Am not here" 가 실행될 것 같지만
컴파일 해보면 "Am here" 가 출력된다.
그 이유를 찾아보니 모든 문자열의 시작과 끝에는 공백 character 가 존재하기 때문이라고 한다.
이러한 이유로 String.contains(), String.indexOf() 를 빈 문자열과 같이 사용할 경우 원치 않는 결과를 발생 시킬 수 있다.
References
https://jeeva-paramasamy.blogspot.com/2012/04/contains-and-indexof-in-java-will.html
반응형