String의 equals와 compareTo 메서드 비교
F-lab 멘토링 시간에 String 객체의 equals와 compareTo의 차이에 대해 질문이 있었다. 해당 질문에 잘 답변하지 못해 정확히 이해하고자 코드를 분석하면서 이해해보고자 글을 적는다. equals public boolean equals(Object anObject) { if (this == anObject) { return true; } return (anObject instanceof String aString) && (!COMPACT_STRINGS || this.coder == aString.coder) && StringLatin1.equals(value, aString.value); } 코드는 아주 간단하다. == 비교로 두 객체의 주소 값이 같으면 true를 반환. 주소 값이 같이..