dhaj icon indicating copy to clipboard operation
dhaj copied to clipboard

코드의 이해 안되는 문의

Open dydrb141 opened this issue 1 year ago • 1 comments

https://github.com/wikibook/dhaj/blob/5a7dc6f36dc5159635f5d8b8786da6add784922e/Chapter02/src/main/java/dev/davivieira/domain/entity/Switch.java#L27

이 코드 보면 addNetwork 메소드에서 network를 변수로 받아서 리스트를 생성하여 network값을 넣고 생성한 리스트에 add를 통해서 network값을 또 넣어주고 있는게 이해가 안됩니다. 중복된 네트워크의 값을 넣으려는 의도가 맞는지 이전의 넣었던 Network의값을 복사후 새 Network값을 넣으려는건지 확인 부탁 드립니다.

dydrb141 avatar Jan 20 '24 04:01 dydrb141

@dydrb141 님, 안녕하세요. 위키북스 담당자입니다.

제보해 주신 내용을 역자분께 전달해 드렸고, 아래와 같은 답신을 받았습니다.

질문한 addNetwork 메소드에서는 ArrayList에 network 값이 중복해서 두 번 들어가는 것이 맞고 이는 오류인 것 같습니다. 이 부분에서 같은 값을 두 번 넣는 것은 의도된 것이 아닌 것이 맞습니다.

해당 코드는 new ArrayList<>(Arrays.asList(network)); 부분은 new ArrayList<>(); 으로 수정되는 것이 맞아 보입니다. 즉 해당 라인을 List<Network> networks = new ArrayList<>(); 로 수정하는 것이 맞아 보입니다.

참고로 3장, 4장의 의 코드를 보면 addNetwork() 함수를 보면 알 수 있습니다. 모두 List<Network> newNetworks = new ArrayList<>(); 와 같이 리스트 선언 이후 newNetworks.add(network);를 호출하고 있습니다.

역자분께서 확인해 주셨기에 홈페이지 정오표에 다음과 같이 등록했습니다.

  • 41쪽, 첫 번째 예제 코드의 밑에서 9번째 줄
    var networks = new ArrayList<>(Arrays.asList(network));
    
    ==>
    var networks = new ArrayList<>();
    

제보해 주셔서 감사드리고요, 해당 내용은 다음 인쇄 때 반영하도록 하겠습니다. 그럼 오늘도 좋은 하루 보내세요. 고맙습니다.

wikibook avatar Jan 23 '24 00:01 wikibook