목록Java (40)
준호씨의 블로그
startDate에서 endDate까지 하루씩 순서대로 생성하고 싶은 경우가 있습니다. 그럴 때 사용하는 방법과 관련 팁들을 정리합니다. 시작일에서 종료일까지 하루씩 출력 - LocalDate의 datesUntil 사용하기 2022-12-27~2022-12-30을 순서대로 출력하는 방법입니다. LocalDate.of(2022, 12, 27) .datesUntil(LocalDate.of(2022, 12, 30).plusDays(1)) .forEach { it -> println(it) } datesUntil의 값 직전까지만 돌기 때문에 plusDays(1)을 해서 하루를 더해주어야 합니다. 출력결과입니다. println으로 출력해서 한 줄에 하나씩 출력됩니다. 2022-12-27 2022-12-28 202..
클린코드 "10장 클래스"의 내용에 클래스 내부 작성 순서에 대한 내용이 나옵니다. 표준 자바 관례 (Standard Java Convention)에 따라 다음과 같은 순서로 작성한다고요. 1. static public 상수 2. static private 변수 3. private instance 변수 (public 변수가 필요한 경우는 거의 없음) 4. public method - private method는 자신을 호출하는 공개 함수 직후 정말 그렇게 적혀있는지 궁금해서 표준 자바 관례 (Standard Java Convention)에는 어떻게 적혀 있는지 찾아보았습니다. https://www.oracle.com/java/technologies/javase/codeconventions-fileorga..
IntelliJ에서 build.gradle파일을 열어 보니 설정들이 회색으로 나오고 마우스를 올려보면 "No candidates found for method call plugins."라고 나오는 경우가 있습니다. gradle 설정을 수정하려고 하는데 IDE의 기능들을 제대로 활용하지 못하게 되는 상태입니다. 해결 방법은 Help -> Find Action...(Shift + Cmd + A)를 누르고 "Reload All Gradle Projects"를 실행하면 됩니다. 지금 제가 사용하는 2021.3에서는 "Reload All Gradle,sbt,BSP Projects"라고 나오네요.
일반적이지는 않지만 특정 테스트를 여러 번 돌리고 싶을 때가 있습니다. 보통 같은 테스트를 여러 번 수행해도 같은 결과가 나올 것이기 때문에 여러 번 돌릴 일은 잘 없습니다. 참고로 입력과 결과가 다른 테스트인 경우 테스트 케이스를 여러 개 만들거나 @ParameterizedTest를 사용하면 됩니다. 저는 최근 랜덤 값에 대한 테스트를 만들다가 @RepeatedTest를 사용해 보았습니다. 사실 랜덤 값에 대한 테스트는 웬만해서는 잘 만들지는 않습니다. 결괏값이 랜덤 하게 나올 수 있기 때문에 테스트의 성공 여부를 보장하지 못하기 때문입니다. 아무튼 기존에 만들었던 테스트와 동일하지는 않지만 대략적인 테스트 코드를 만들어 보면 다음과 같습니다. @DisplayName("random number test..
1. aa == bb 결과는 무엇일까요? String aa = new String("aaa"); String bb = new String("aaa"); System.out.println(aa == bb); 2. a == b 결과는 무엇일까요? String a = "aaa"; String b = "aaa"; System.out.println(a == b); 3. "aaa" == "aa" + "a"의 결과는 무엇일까요? System.out.println("aaa" == "aa" + "a"); 1번의 답은 false입니다. String 객체끼리 비교하기 때문에 생성된 두 객체 aa와 bb는 서로 다른 객체이기 때문입니다. 그래서 문자열의 내용이 같은지 비교하려면 aa.equals(bb)로 비교하면 true가 ..