728x90 == eqials 차이1 [Java] "== vs equals" java에서 문자열을 생성에 여러 방법으로 생성할 수 있다. 그중 크게 2가지로 나누면 문자열 상수, 객체를 이용하여 생성(인스턴스로 저장된 문자열)으로 나뉜다. 두 방법의 차이는 문자열 상수는 String constant pool 공간에 저장이되고, 다른 방법으로 만들어진 객체는 Heap 공간에 저장이 된다. 즉, 두 문자열의 메모리 주소값이 다르다는 의미를 가지고 있다. 메모리 주소값이 다르면 == 연산자를 사용해 문자열 비교연산을 할 수 없다. 왜냐면 java8 에서 == 연산자는 기본 자료형에 저장된 값은 상수이므로 값을 기준으로 비교하나, 참조 자료형에 저장된 값은 메모리 주소값이기 때문에 메모리 주소값을 비교한다. 그럼 다른 방식으로 생성된 문자열을 비교하는 방법은 String class의 e.. 2022. 5. 27. 이전 1 다음 728x90