[Beyond SW] 20251028_API실습문제2

이경민·2025년 10월 28일

한화시스템 Beyond SW

목록 보기
20/40

input 문자열
"1,김연아,165,47,19900905|2,양세형,167,60,19850818|3,김래원,182,80,19810319"

String[] members = str.split("[|]"); // 회원 구분
Member[] memberArr = new Member[members.length]; // 회원 배열 생성
for (int i = 0; i < members.length; i++) {
            String[] info = members[i].split(","); // 회원 정보 구분
            memberArr[i] = new Member(
                    Integer.parseInt(info[0]),                 // 회원번호
                    info[1],                                   // 이름
                    Integer.parseInt(info[2]),                 // 키
                    Integer.parseInt(info[3]),                 // 몸무게
                    LocalDate.parse(info[4], DateTimeFormatter.ofPattern("yyyyMMdd"))
            );
        }

"|"을 기준으로 나뉜 3개의 객체가 담긴 String 배열(배열 이름 : members) 생성
Member 객체 생성 (배열 이름 : memberArr)
members 배열의 요소를 차례대로 불러와 ","를 기준으로 나누어
Member 객체의 memberArr배열 안에 하나씩 넣음
이때 pasing으로 회원번호, 키, 몸무게 등은 원래 타입인 int 등으로 넣어줌

결과값이 다음과 같이 메모리 주소형태로 나오는 문제 발생
com.ohgiraffers.api.member.vo.Member@41629346 com.ohgiraffers.api.member.vo.Member@404b9385 com.ohgiraffers.api.member.vo.Member@6d311334
=> toString() 오버라이딩하기

@Override
    public String toString() {
        return "Member{" +
                "memberNo=" + memberNo +
                ", memberName='" + memberName + '\'' +
                ", height=" + height +
                ", weight=" + weight +
                ", birth=" + birth +
                '}';
    }

0개의 댓글