본문 바로가기

☕Java/Java 기본24

날짜, 시간, 포맷팅 Date, Calendar Date - JDK 1.0부터 있던 클래스 Calendar - Date를 보완한 클래스. JDK 1.1부터 제공됨. Calendar Calendar 사용 시에는 static 메서드인 getInstance()로 생성. (GregorianCalendar, BuddhistCalendar 등 시스템 설정에 맞춰 알맞은 구현 클래스 반환해 줌) 현재 날짜를 설정할 때에는 Date 클래스가 여전히 필요하다. Date date = new Date(); Calendar calendar = Calendar.getInstance(); calenar.setTime(date); get(Calendar 상수들)로 날짜 시간 요소 가져올 수 있음. 차이 구할 때는 getTimeMillis()로 계산 후.. 2023. 7. 11.
자바 컬렉션 간 변환(Array, List, Map, Set) 정리 배열, Collection 객체 간에 변환이 필요한 경우 사용할 수 있는 방법을 정리해보았다. 변환을 할 때 배열과 배열이 아닌 객체 간을 나눠서 볼 수 있다. 배열이 아닌 List, Map, Set으로 변환하는 경우에는 원래 객체를 파라미터로 받아 List, Map, Set 객체를 생성하는 방식으로 변환한다. 다만, 배열의 경우에는 List로 변환하여 넣어 주면 된다. List, Map, Set 객체를 배열로 바꾸려고 할 때는 List, Map, Set 객체가 기본적으로 가진 toArray() 메서드를 이용하면 쉽게 배열로 바꿀 수 있다. Array -> List 1. Arrays.asList(array) * 원래 배열의 list 형태만 보여줌. 따라서 리스트 추가하는 것이 불가하고(추가 시 Unsup.. 2022. 10. 1.
API Docs 읽기 - 자바 String String은 상수임. 기본적으로 String 생성자나 메서드에 null 인자를 넣으면 NullPointerException을 발생시킨다.(예외 있음. valueOf()의 경우 null이 들어가면 "null" 반환.) String은 UTF-16 포맷 문자열을 표현한다. 2022. 9. 17.
java.util.Date, java.util.Calendar 클래스를 사용하면 안 되는 이유 java.util.Date, java.util.Calendar 클래스는 자바에서 날짜, 시간 관련 작업이나 연산을 수행하기 위한 클래스이다. 자바가 발전해감에 따라 두 클래스의 문제점이 드러나기 시작했고 JDK 1.8에서 두 클래스를 대체할 java.time 라이브러리가 등장하였다. Date, Calendar 클래스를 사용하지 말아야 하는 이유를 나열하면 다음과 같다. 두 클래스 mutable 하기 때문에 객체의 메서드나 변수를 수정할 경우 참조하는 객체들의 값들이 변경된다. calendar의 상수를 남용할 가능성이 있다. 월 값이 0부터 시작하여 직관적이지 않다. timezone이 없다. 새로운 JDK가 계속 출시되면서 대부분의 메서드는 deprecated되었다. 이름은 date인데 실제로는 date와.. 2022. 8. 1.
728x90