[Java] Enum 사용법
2023. 1. 5. 20:37
프로그래밍/JAVA
Enum 사용법 Java Enum 타입은 일정 개수의 상수 값을 정의하고, 그 외의 값은 허용하지 않음 과거에는 특정 상수값을 사용하기 위해선 모두 상수로 선언해서 사용했음 public static final String MON = "Monday"; public static final String TUE = "Tuesday"; public static final String WED = "Wednesday"; 이렇게 사용하면 개발자가 실수하기도 쉽고 한눈에 알아보기도 쉽지 않음 또한 관련있는 값들끼리 묶으려면 접두어를 사용해서 점점 변수명도 지저분해짐 Enum 클래스는 이러한 문제점을 말끔히 해결해주는 굉장히 유용한 클래스입니다. 정의 public enum Day { MON, TUE, WED, THU, F..
[Java] modelMapper 사용하기
2023. 1. 2. 20:03
프로그래밍/JAVA
modelMapper 서로 다른 클래스의 값을 한 번에 복사하게 도와주는 라이브러리로 어떤 Object (Source Object) 에 있는 필드 값들을 자동으로 원하는 Object (Destination Object) 에 매핑 시켜주는 라이브러리 사용을 위해서는 의존성 추가 필요 implementation 'org.modelmapper:modelmapper:2.4.2' 주로 DTO와 같은 클래스로 데이터를 받은 후 원하는 클래스(Entity)에 넣어줄 때, Getter/Setter를 이용해 필드를 복사/붙여넣기하는 작업을 거침 이 때, 매핑해야할 필드가 다른 경우도 빈번함 즉, 다른 모델의 Object를 매핑해줘야하는 작업이 발생할 수 있는데 이런 단점들을 해결하기 위한 라이브러리임 modelMappe..
[Java] List를 콤마(,)로 연결하여 하나의 문자열 만들기
2022. 12. 23. 20:58
프로그래밍/JAVA
List를 콤마(,)로 연결하여 하나의 문자열 만들기 String.join()으로 콤마로 연결된 문자열 변환 Java8에서 제공하는 String.join(delimiter, list)는 인자로 전달된 delimiter로 리스트의 요소를 연결하여 하나의 문자열을 생성함 예시👇 import java.util.Arrays; import java.util.List; public class Example1 { public static void main(String[] args) { List myList = Arrays.asList("Hello", "World", "Java"); String str = String.join(",", myList); System.out.println(str); } } Output: ..
[Java Error] expecting EOF, found ')'
2022. 12. 22. 20:32
프로그래밍/JAVA
expecting EOF, found ')' 해결 방법 위의 에러가 뜬다면 끝에 ')'을 지워주면 됨 ')' 가 아니라 '}'일 수도 있고 그 외의 것일 수도 있지만 괄호 개수가 일치하는지, 구문이 잘 작성되었는지 확인하면 해결할 수 있음
[Java Error] java.time.format.DateTimeParseException: Text '5:00' could not be parsed at index 0
2022. 12. 21. 20:19
프로그래밍/JAVA
Java DateTime 에서 발생할 수 있는 에러 - java.time.format.DateTimeParseException: Text '5:00' could not be parsed at index 0 - java.time.format.DateTimeParseException: Text '24:00' could not be parsed: Invalid value for HourOfDay (valid values 0 - 23): 24 원인 java dateTime은 00:00 ~23:59로 이루어져 있어야 하는데 1️⃣ 01:00이 아닌 1:00 인 경우 (1:00~9:00 모두 마찬가지) 2️⃣ 00:00 이 아닌 24:00인 경우 exception을 발생시킴 해결 방법 00:00 ~ 23:59 사이..
[Java] 날짜, 시간 구하기 (LocalDate, LocalTime, LocalDateTime)
2022. 12. 12. 20:12
프로그래밍/JAVA
java.time Java8 이전에서는 보통 Calendar를 사용하고, Date/long/String 으로 변환후 사용하는 방법을 많이 사용함 Java8 이후에는 LocalDate, LocalTime, LocalDateTime 등이 추가되어 날짜, 시간 관련 코드를 짜기가 더 쉬워짐 날짜와 시간 객체 생성 LocalDate - 날짜 LocalDate currentDate = LocalDate.now(); // 컴퓨터의 현재 날짜 정보를 저장한 LocalDate 객체를 리턴한다. LocalDate targetDate = LocalDate.of(int year, int month, int dayOfMonth); // 파라미터로 주어진 날짜 정보를 저장한 LocalDate 객체를 리턴한다. 결과 : 1986..
[Java] 10진수를 16진수로 변환
2022. 12. 8. 20:16
프로그래밍/JAVA
1. Integer.toString(), Integer.toHexString()으로 16진수 변환 Integer 타입은 다음과 같이 Integer.toHexString(decimal), Integer.toString(decimal, 16)을 사용하여 16진수로 변환할 수 있음 public class Example1 { public static void main(String[] args) { int decimal = 1234; String hex = Integer.toHexString(decimal); System.out.println(hex); hex = Integer.toString(decimal, 16); System.out.println(hex); } } Output: 4d2 4d2 2. Long...
[Java] 숫자 3자리마다 콤마(,) 찍기
2022. 12. 6. 20:15
프로그래밍/JAVA
DecimalFormat을 이용한 방법 DecimalFormat을 이용하여 문자열 포맷을 정의할 수 있음 문자열 형식은 DecimalFormat 객체를 생성할 때 인자로 전달 3자리마다 콤마를 찍으려면 아래처럼 "###,###" 포맷으로 설정하면 됨 DecimalFormat decFormat = new DecimalFormat("###,###"); String str = decFormat.format(123456789); System.out.println(str); str = decFormat.format(10100); System.out.println(str); Output 👇 123,456,789 10,100 소수 출력 만약 소수도 출력하고 싶다면, ".##" 처럼 포맷을 입력하면 됨 "###,###..