==, 와 equals() 의 차이점
equals 메소드는 비교하고자 하는 대상의 내용 자체를 비교하지만,
== 연산자는 비교하고자 하는 대상의 주소값을 비교함.
직관적으로 느낄 수 있는 차이는 문자열 비교할때는 equals() 메소드를 사용하다는 것이다.
boolean result5 = name1.equals(name3); // 사용법
boolean result6 = (name1 == name4);
System.out.println("equals결과 :"+result5); // 결과 true
System.out.println("==연산결과 :"+result6); // 결과 false
equals 메소드는 재정의 되어 논리적인 문자열 비교를 하기 때문이다.
String 클래스 한정적으로 equals 메소드가 문자열 내용을 비교하게 재정의 되어있다.
다른 객체를 비교할때 equals 메소드를 사용하면 똑같이 주소값으로 비교하게 된다. 그래서 객체 내용을 비교하고 싶으면 다시 재정의해서 사용해야한다
'JAVA > JAVA 개발, 알고리즘 tip' 카테고리의 다른 글
#Scanner를 이용해서 파일 내용 읽어오기 (0) | 2019.01.19 |
---|---|
#Random 이용방법 (0) | 2019.01.19 |
# String => Int 로 형변환 Integer.parseInt(string) (0) | 2019.01.19 |
Scanner 입력 개수 모를때 자주 쓰는 코드 (0) | 2019.01.19 |
#Scanner 입출력 받기(기본) (0) | 2019.01.19 |