TIL_230607 / @Override public String toString(){}

yesrin·2023년 6월 7일

TIL

목록 보기
3/15

2번째 조별과제를 시작했다.

나는 예약 조회, 예약 목록 조회 기능을 맞았다.
hashMap을 사용해서 uuid 예약번호 값을 key 값으로 조회할 수 있게 구현했다.

새로알게된점

toString 값을 Override 하지 않으면 주소값이 출력된다.

toString을 Override 안 했을 때 출력값

했을 때 출력값

toString을 Override 한 내용에 맞게 값이 출력된다.

import java.time.LocalDateTime;
import java.util.UUID;

public class Reservation {

    private Room room; // 객실
    private String customerName; // 고객 이름
    private String customerPhoneNumber; // 고객 전화번호
    private LocalDateTime reservationDate; // 예약날짜
    private UUID reservationNumber; // 예약번호 (uuid)

    /* 생성자 */
    Reservation(){}
    public Reservation(Room room, String customerName, String customerPhoneNumber, LocalDateTime reservationDate, UUID reservationNumber) {
        this.room = room;
        this.customerName = customerName;
        this.customerPhoneNumber = customerPhoneNumber;
        this.reservationDate = reservationDate;
        this.reservationNumber = reservationNumber;
    }

    /* getter */
    public Room getRoom() {
        return room;
    }

    public String getCustomerName() {
        return customerName;
    }

    public String getCustomerPhoneNumber() {
        return customerPhoneNumber;
    }

    public LocalDateTime getReservationDate() {
        return reservationDate;
    }

    public UUID getReservationNumber() {
        return reservationNumber;
    }

    public LocalDateTime setReservationDate(LocalDateTime reservationDate) {
        this.reservationDate = reservationDate;
        return reservationDate;
    }

    public UUID setReservationNumber(UUID reservationNumber) {
        this.reservationNumber = reservationNumber;
        return reservationNumber;
    }

    @Override
    public String toString(){
        return  "객실("+room+")"+",\n"+"고객이름:"+customerName+","+"전화번호:"+customerPhoneNumber+","+"예약날짜:"+reservationDate+","+"예약번호:"+reservationNumber;
    }
}

@Override
public String toString(){
return "객실("+room+")"+",\n"+"고객이름:"+customerName+","+"전화번호:"+customerPhoneNumber+","+"예약날짜:"+reservationDate+","+"예약번호:"+reservationNumber;
}

public class ReservationContext {

    Reservation reservation= new Reservation();
    Room room= new Room();
    ReservationContext(){

        ReservationItems();
    }
    static List<Reservation> reservationList =new ArrayList<>(); //전체 예약목록
    static List<Reservation> reservation1 =new ArrayList<>();
    static List<Reservation> reservation2 =new ArrayList<>();
    static List<Reservation> reservation3 =new ArrayList<>();
    static List<Reservation> reservation4 =new ArrayList<>();

    static Map<UUID, List<Reservation>> reservationNumberMap = new HashMap<UUID, List<Reservation>>();
    public void ReservationItems(){
        Room roomItme1 = new Room(100,52,1000000);
        Room roomItme2 = new Room(200,88,2000000);
        Room roomItme3 = new Room(300,40,3000000);
        Room roomItme4 = new Room(400,45,4000000);
        reservation.setReservationDate(LocalDateTime.now());

        UUID number1 = reservation.setReservationNumber(UUID.randomUUID());
        reservation1.add(new Reservation(roomItme1,"서예린","010-1234-1234",reservation.getReservationDate(),reservation.getReservationNumber()));
        reservationNumberMap.put(number1,reservation1);

        UUID number2=reservation.setReservationNumber(UUID.randomUUID());
        reservation2.add(new Reservation(roomItme2,"홍길동","010-5481-8618",reservation.getReservationDate(),reservation.getReservationNumber()));
        reservationNumberMap.put(number2,reservation2);

        UUID number3=reservation.setReservationNumber(UUID.randomUUID());
        reservation3.add(new Reservation(roomItme3,"김가나","010-1361-5489",reservation.getReservationDate(),reservation.getReservationNumber()));
        reservationNumberMap.put(number3,reservation3);

        UUID number4=reservation.setReservationNumber(UUID.randomUUID());
        reservation4.add(new Reservation(roomItme4,"서예린","010-8688-7848",reservation.getReservationDate(),reservation.getReservationNumber()));
        reservationNumberMap.put(number4,reservation4);


    }

    public static void selectAllReservation(){ //전체 예약리스트 출력
        reservationNumberMap.forEach((key, value) -> {
            System.out.println(value);
        });
    }

    public void selectReservationUseNumber(UUID reservationNumber){ // 예약번호로 찾는 리스트

            System.out.println("예약번호:"+reservationNumber+", 예약정보:"+ reservationNumberMap.get(reservationNumber));

    }

}

public static void selectAllReservation(){ //전체 예약리스트 출력
reservationNumberMap.forEach((key, value) -> {
System.out.println(value);
});
}

profile
안녕하세요! 틀린 정보는 댓글 달아 주세요.

0개의 댓글