728x90
s1.equals(s2) // false
1. 문자열 비교
String s1 = "Java";
String s2 = "Python";
이런 문자열이 있다고 하자. 두 문자가 같은지 비교하는 방법이다.
1-1. equals
s1.equals(s2) // false
두 문자열이 같은 문자열인지 판단해준다. 이 방법은 대소문자도 파악을 해준다
1-2. equalsIgnoreCase
s1.equalsIgnoreCase('java') // true
대소문자를 구분하지 않고 구별해준다
2. 문자열 비교 심화
s1 = "1234";
s2 = "1234";
이렇게 두개의 문자열이 있다고 가정해보자.
s1.equals(s2) // true
s1 == s2 // true
같은 단어이기 때문에 equals 메소드를 사용한 결과는 true가 맞다. 하지만 밑의 s1 == s2에서 의문이 들 수 있다. 분명 다른 변수인데 두개의 변수는 같다고 나오기 때문. 이것은 "1234"라는 문자열을 s1과 s2를 참조하고 있기 때문이다. 보통 같은 곳을 바라보고 있다고 한다.
https://velog.io/@rowooncoding/Reference-data-type
Reference data type
변수에 값이 그대로 저장됨예) 문자, 숫자 자료형객체, 배열변수에 참조가 저장된다(저번에 배웠다)참조에 의한 복사는 저번 글에 자세히 설명 했으니 생략하겠음객체의 프로퍼티를 재할당 하
velog.io
자바스크립트에도 비슷한 부분이 있다.
그럼 s1과 s2를 다른 변수로 만들고 싶으면 어떻게 해야할까
s1 = new String ("1234")
s2 = new String ("1234")
s1.equals(s2) // true
s1 == s2 // false
new 키워드를 붙여서 만들면 우리가 생각한 결과가 나온다.
new가 무엇인지는 나중에 다시 설명하도록 하고 오늘은 equals가 어떤 메소드인지를 기억해두자
반응형