개발공부

ArrayList 출력시 주소값이 나올때

pumaclass 2024. 8. 23. 11:25

강의에서 분명 본것 같았고 실제로도 그런 문제를 겪은적이 있어서 해결까지 했는데도 뭐더라.. 뭐더라...

검색을 해도 속 시원하게 안나오길래 눈 빠지게 코드 찾다가 몸으로 학습해버렸다..

 

public void findBookTitle() {
        System.out.println("조회 할 책의 이름을 입력해주세요.");
        String bookName = sc.next();
        for (Book book : bookList) {
            if (bookName.equals(book.getTitle())) {
                System.out.println(book + " 책이 목록에 있습니다.");
            } else {
                System.out.println(book + " 책을 찾을 수 없습니다.");
            }
        }
    }

 

문제의 코드다

sout를 하게 되면 book@12312415 같은 문자들을 쏟아낸다.

당연하다.

객체의 속성을 정확하게 이야기 해주지 않으면 컴퓨터는 해당 객체의 주소값을 바라보기 떄문이다.

 

    public void findBookTitle() {
        System.out.println("조회 할 책의 이름을 입력해주세요.");
        String bookName = sc.next();
        for (Book book : bookList) {
            if (bookName.equals(book.getTitle())) {
                System.out.println(book.getTitle() + " 책이 목록에 있습니다.");
            } else {
                System.out.println(book.getTitle() + " 책을 찾을 수 없습니다.");
            }
        }
    }

 

book.getTitle를 추가하여 해결했다.

나도 실력이 느는구만 하하하하하