삼항연산자에 += 사용
if (num == n) {
count += 1;
// count++;의 방법도 있다
}
이건데 다른 사람 정답을 보니까 answer += num==n ? 1 : 0;
삼항연산자를 사용해서 이렇게 간단하게 작성했더랍for문에서 for(int i = 0; i < 10; i++){}
에서 i가 하나씩 증가되는게 아니라 두개 씩 증가되길 원해서 i+2
이렇게 적었는데 에러가 떴다..ㅎ 그래서 알아보니 i+=2
이거임
위에 삼항연산자를 알게되고 바로 다음 문제에 적용해서 풀었다.
(프로그래머스 머쓱이보다 키 큰 사람)
public class TallerThan {
public int solution(int[] array, int height) {
int count = 0;
for (int others : array){
count += (others>height) ? 1 : 0; // 중복된 숫자에서 본거 바로 써먹기!
}return count;
}
}
문시해알
요즘 약간 헤이해져서 일기만 쓰고 있었는데.. 반성한다.
열심히 쓰자 티아엘
댓글을 생성하는 로직을 만들고 포스트맨에서 확인을 했는데 댓글 생성이 안되고 에러가 발생했다.
그래서 dto에 기본생성자를 만들어줬는데 또 에러가...
레파지토리에 저장이 안되는 것! 눈을 씻고 찾아보니
서비스 필드에 선언한 레파지토리의 생성자가 없었다.
접근제어자도.. 그래서 NullPointerException이,,
그래서 접근제어자를 넣어주고 생성자도 만들어주는 애노테이션도 추가했다. +final
@Service
@RequiredArgsConstructor
public class CommentService {
private final CommentRepository commentRepository;
private final BlogRepository blogRepository;
...
주의깊게 코드를 짰으면 이런 에러도 발생하지 않았을텐데..
다음부턴 더욱 생각하면서 짜자자자잦
에러에 대해 고민하다가 생성자.. DI, final로 의식이 흘러갔다.
간단하게 정리하자
final
의존관계 주입이라고도 한다
강하게 결합된 클래스를 분리한다.
외부에서 두 객체 간의 관계를 결정해주는 디자인 패턴으로, 인터페이스를 사이에 둬서 클래스 레벨에서는 의존관계가 고정되지 않도록 하고 런타임 시에 관계를 동적으로 주입하여 유연성을 확보하고 결합도를 낮출 수 있게 해준다.
주입 방법
그 중 하나가 생성자를 통해서 의존관계를 주입하는 것
자세한 내용은 https://mangkyu.tistory.com/150 참고