-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
2nd seminar : 기본과제 #2
base: main
Are you sure you want to change the base?
Conversation
|
|
||
//왜 재정의하느냐.... | ||
// List의 contains() 메소드와 indexOf() 메소드는 List안에 값이 같으면 true를 리턴하는데 | ||
// 이때 '값이 같으면'이 List안의 객체의 equals 메소드를 실행시켜 확인하기 때문 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[P5] 오오... contains() 메소드와 indexOf() 메소드가 equals() 메소드를 실행시켜서 확인하는구나! 몰랐던 사실이다..!!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
따봉입니다!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
저도 좋은 내용 알아가용!!!!
//contains 메소드와 indexOf 메소드르 실행할때 arrayList의 원소객체의 euqals 메소드르 실행한다고 알고있는데 | ||
// 왜인지 실행이 안됨...... | ||
/* | ||
if(!userList.contains(request.getUserName())){ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[P5] 나도 이부분 왜 안되는지 열심히 찾아봤는데 진짜 왜 안될까?? 혹시 알게되면 comment나 카톡으로 공유해주세요!!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
같은 예제인데도 배울점이 많았던 코드리뷰였습니다~~
private final PostService postService; | ||
|
||
@PostMapping("/post") | ||
public String reigster(@RequestBody final PostRegisterRequestDto request){ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
final 키워드를 붙이는 것과 안붙이는 것의 차이는 무엇일까요?
Post post = postService.getPostById(postID); | ||
if (Objects.isNull(post)){ | ||
return "글 조회 실패"; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
자바 문법 중 Optional 에 대해 검색해보시는 것을 추천합니다!
그리고, 예외는 언제 터트려야 가장 이상적일까요?
if (Objects.isNull(post)){ | ||
return "글 검색 실패"; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
시간이 된다면 윗 코멘트와 같이 Exception에 대해 학습해보시면 좋을 것 같습니다!
@Getter | ||
@AllArgsConstructor(access = AccessLevel.PRIVATE) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@requiredargsconstructor와 @AllArgsConstructor 둘 다 사용하고 계신데, 둘의 차이점은 무엇일까요?
// contains와 indexOf의 로직을 그대로 쓰려면 | ||
// 1. User의 equals 오버라이딩 | ||
// 2. User 생성자 오버로딩(name 만으로 비교용 임시객체만들도록) <- 솔직히 이부분이 젤 짱나서 결국 이로직 안씀 | ||
// 3. userList.indexOf(new User(이름)) 으로 User의 equals가 실행되게 하기 | ||
// 위의 3가지 단계를 써야하는 데 너무 번잡스러워서 걍 안쓸래요 ㅅㄱ! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
equalsandhashcode 라는 어노테이션이 있습니다:)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
되게 열심히 학습하시는 모습에 저도 배워갑니다!
고생하셨습니다.
|
||
//왜 재정의하느냐.... | ||
// List의 contains() 메소드와 indexOf() 메소드는 List안에 값이 같으면 true를 리턴하는데 | ||
// 이때 '값이 같으면'이 List안의 객체의 equals 메소드를 실행시켜 확인하기 때문 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
저도 좋은 내용 알아가용!!!!
); | ||
*/ | ||
|
||
*/ | ||
|
||
//그냥 원시적으로 반복문 돌릴께요 ㅇㄴ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
제일 직관적인 방법 ㅎㅎㅎㅎㅎㅎ
// 2. User 생성자 오버로딩(name 만으로 비교용 임시객체만들도록) <- 솔직히 이부분이 젤 짱나서 결국 이로직 안씀 | ||
// 3. userList.indexOf(new User(이름)) 으로 User의 equals가 실행되게 하기 | ||
// 위의 3가지 단계를 써야하는 데 너무 번잡스러워서 걍 안쓸래요 ㅅㄱ! | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이렇게 주석으로 고민했던 내용 달아주니 너무 좋은것 같아요..!! 저도 다음에 반영해서 제 흐름도 공유해볼게요!
2차 세미나 기본과제완료.....
에구..... 힘드네요.....
아직도 1차세미나 생각과제 못함....
언능 할께요.
과제는 Post 도메인만들고, 컨트롤러 서비스단 만들었음요
api는 글등록, 아이디로조회, 제목으로 찾기 입니다.
db는 연결하지 않고 리스트로 임으로 만들어서 서버를 재실행할때마다 달라집니다.
의문점!!!!
이해가 안가는 부분이 하나 있습니당.
제가 알기로...
ArrayList<Object>
의� 경우arrayList.contain()
,arrayListIndexOf()
두 메서드다equals
메소드를 실행하며true
이면 각자 값을 반환하는것(contain
은true
를,indexOf
는 해당index
를) 으로 알고있는데저의 코드중 Post 등록 로직(
PostService register
메소드)에서 같은 방식으로userList
에서contains, indexOf
메소드들을 사용했을때는 User class의 equals 메소드가 실행이 아예 되지 않았습니다.왜 그런걸까요...?
해결!
유난 오빠의 팁을 보고 정의를 찾아봤더니 해결했습니다.
자세한 글은 PostService.java에 주석으로 적어놓음.
모두 ㄱㅅㄱㅅ