-
java: String == 비교 false 나오는 이유JAVA 2021. 11. 19. 23:42반응형
가끔 String 변수를 == 로 비교하려 할때 같은 값으로 보이지만 false 가 나오는 경우가 있다.
이는 String 변수는 그 값이 설정된 위치를 가리키는 참조형 연산자라 인스턴스가 같은지를 비교해서 그렇다.
간단하게 == 로 비교하기 보다는 equals 를 이용하여 String 은 비교하는 것이 더욱 정확하다.
AAa 라는 String 변수를 모두 대문자로 바꾸는 toUpperCase 함수를 사용하면 AAA 가 되며
이를 "AAA" 와 같은지를 비교하려면 아래와 같이 == 이 아닌 equals 함수를 이용하면 정확하게 비교된다.
public class HelloWorld{ public static void main(String []args){ String s = "AAa"; // == 비교 연산자는 false System.out.println(s.toUpperCase() == "AAA"); // equals 는 true System.out.println(s.toUpperCase().equals("AAA")); } }
반응형'JAVA' 카테고리의 다른 글
[JAVA] for 문 / for each 문 사용하는법 (0) 2022.09.14 Spring Boot port 변경하는 법 (0) 2022.01.06 window openjdk 설치하는 법 java 8 11 17 lts 버전 (0) 2021.11.28 java: String 소문자/대문자로 변경하는 법 (0) 2021.11.19 java: 숫자 나누기 소수점 출력하는 법 (0) 2021.11.18