Java Collections.sort() 질문입니다

조회수 448회
Collections.sort(keyList, new Comparator(){
            public int compare(Object o1, Object o2){
                Object v1 = map.get(o1);
                Object v2 = map.get(o2);

                return ((Comparable) v2).compareTo(v1); //이부분 설명좀 부탁드립니다
            }
        });

return ((Comparable) v2).compareTo(v1);

이부분 설명좀 부탁드리겠습니다

Comparable 인터페이스를 사용하게되면 compareTo() 메소드를 오버라이딩 해야된다는건 알고있습니다!

하지만 ((Comparable) v2).compareTo(v1) 이런식으로 감싸서 사용한다면 어떤 방식으로 동작하는지 궁금합니다

  • 형변환을 한겁니다 Object 에는 compareTo 메소드가 없으니까요. 컬렉션 사용시 제네릭을 필수로 사용하세요. 불필요한 형변환을 줄일 수 있고 런타임 오류도 줄일 수 있습니다. 정영훈 2020.5.18 00:49
  • 네 알겠습니다 댓글 감사합니다! sdf7895 2020.5.18 14:29

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)