2021. 04. 14(수) TIL
Java
Wrapper 클래스와 Auto-Boxing/Unboxing
Wrapper 클래스
-
기본자료형 타입에 대응되는 클래스다.
-
기본자료형 값을 가지고 있는 객체를 만들 수 있다.
-
java.lang 패키지에 정의되어 있다.
-
사용해야 할 때
- 기본자료값이 아닌 객체로 저장해야할 때
- 호출할 메소드의 매개변수가 객체를 요구할 때
- null값이 저장될 가능성이 있을 때
- 해당 기본자료형값에 대한 다양한 기능을 실행해야 할 때
-
지원하는 Wrapper 클래스
기본자료형 Wrapper 클래스 byte Byte short Short int Integer long Long float Float double Double char Character boolean Boolean
오토박싱/오토언박싱
-
JAVA 1.5버전부터 도입된 기능
-
기본자료형 타입과 Wrapper객체 타입간의 변환을 자동으로 지원한다.
-
오토박싱
Integer instance = new Integer(10); // 박싱
Integer instance = 10; // 오토박싱
// Integer instance = new Integer(10); // 실제로 실행되는 코드
-
오토언박싱
Integer instance = new Integer(10); // 박싱
int value = instance.intValue(); // 언박싱
int value = instance; // 오토 언박싱
// int value = instance.intValue(); // 실제로 실행되는 코드
-
실제 활용 예제
public class Sample {
public void test1(int value) {
수행문
}
public void test2(Integer instance) {
수행문
}
}
public static void main(String args) {
Sample sample = new Sample();
sample.test1(1);
sample.test2(1); // 실제 실행되는 코드 sample.test2(new Integer(1));
}
package wrapper;
public class WrapperApp {
public static void main(String[] args) {
int x = 10;
// 박싱(Boxing) 기본자료형값을 객체를 생성해서 저장하는 것
Integer i = new Integer(10);
Integer i2 = new Integer("1000");
Double d = new Double(3.14);
Double d2 = new Double("3.14");
Boolean b = new Boolean(true);
Boolean b2 = new Boolean("true");
// 오토박싱(Auto-Boxing) 변수의 타입이 Wrapper 클래스 타입일 때 자동으로
// 해당 기본자료형과 대응되는 객체가 생성되고 그 객체에 값이 저장되는 것
Integer a1 = 100; // Integer a = new Integer(100);
Double a2 = 3.14; // Double a2 = new Double(3.14);
Boolean a3 = true; // Boolean a3 = new Boolean(true);
// 오토언박싱(Auto-unBoxing) 변수의 타입이 기본자료형 타입일 때
// Wrapper 타입의 객체에서 기본자료형값만 가져오는 것
int x1 = a1; // a1의 Wrapper객체에 대한 참조변수다.
// a1이 참조하는 Wrapper객체에 저장된 값만 가져와서
// 변수 x1에 대입된다.
double x2 = a2;
boolean x3 = a3;
}
}
package wrapper;
public class WrapperApp2 {
public static void main(String[] args) {
// 오토박싱이 지원되기 때문에
// 기본자료형 탕비의 변수에 값을 대입하는 것과 Wrapper 타입의 변수에 값을 대입하는 것을
// 구분없이 사용할 수 있다.
String name = "홍길동";
int age = 30;
Double height = 180.4; // Double height = new Double(180.4);
double weight = 78.2;
Boolean isMarried = false;
Integer savedPoint = 10000;
// 오토박싱이 지원되기 때문에
// Wrapper 타입의 배열에 기본자료형 값만 적어도 된다.
Integer[] scores = {100, 100, 80, 100, 50, 60, 70, 80, 50, 60};
// Integer[] scores = {new Interger(100), new Interger(90), new Interger(80), ...}
int total1 = 0;
for (Integer score : scores) {
// 오토언박싱이 지원되기 때문에
// Wrapper타입의 참조변수가 사칙연산자를 만나면 Wrapper 객체에 저장된 값만 가져와서
// 사칙연산에 사용된다.
total1 += score;
}
System.out.println("총합: " + total1);
int total2 = 0;
// 오토언박싱이 지원되기 때문에
// 배열에서 순서대로 조회되는 것이 Wrapper(래퍼)타입의 객체라면
// 그 타입과 대응되는 기본자료형 타입의 변수를 선언해서 값만 사용할 수 있다.
for (int score : scores) {
total2 += score;
}
System.out.println("총합: " + total2);
}
}
package wrapper;
public class WrapperApp3 {
public static void main(String[] args) {
// 문자열을 정수, 실수로 변환하기
String value1 = "150000";
String value2 = "3";
String value3 = "0.01";
int price = Integer.parseInt(value1);
int amount = Integer.parseInt(value2);
double savePointRate = Double.parseDouble(value3);
int total = price * amount;
int point = (int) (total * savePointRate);
System.out.println("총 구매가격 : " + total);
System.out.println("적립포인트 : " + point);
// 오류 상황
// java.lang.NumberFormatException
// int value3 = Integer.parseInt(""); // 빈 문자열은 숫자로 변환할 수 없다.
// int value3 = Integer.parseInt(" "); // 공백이 포함된 문자열은 숫자로 변환할 수 없다.
// int value3 = Integer.parseInt("가나다"); // 숫자가 아닌 문자들은 숫자로 변환할 수 없다.
// int value3 = Integer.parseInt("1234가"); // 숫자가 아닌 문자가 한 개라도 포함되면 숫자로 변환할 수 없다.
// int value3 = Integer.parseInt("123 "); // 공백이 포함되어 있으면 숫자로 변환할 수 없다.
// int value3 = Integer.parseInt("3.14"); // 실수형식의 문자열은 정수로 변환할 수 없다.
}
}
package wrapper;
public class WrapperApp4 {
public static void main(String[] args) {
System.out.println(Byte.MIN_VALUE);
System.out.println(Byte.MAX_VALUE);
System.out.println(Short.MIN_VALUE);
System.out.println(Short.MAX_VALUE);
System.out.println(Integer.MIN_VALUE);
System.out.println(Integer.MAX_VALUE);
System.out.println(Long.MIN_VALUE);
System.out.println(Long.MAX_VALUE);
}
}
Date 클래스
- 시스템의 현재 날짜와 시간정보를 표현하는 클래스다.
- java.util 패키지에 있다.
- 주요 생성자
- new Date()
- 현재 날짜와 시간정보가 포함된 객체가 생성된다.
- new Date(long 유닉스타임)
- 지정된 유닉스타임에 해당하는 날짜와 시간정보가 포함된 객체가 생성된다.
// 시스템의 현재 날짜정보와 시간정보가 포함된 Date객체가 생성된다.
Date now = new Date();
// 지정된 유닉스타임(long값)에 해당하는 날짜와 시간정보가 포함된 객체가 생성된다.
Date date = new Date(0);
- 주요 메소드
- boolean after(Date when)
- 지정된 날짜보다 이후 날짜인지 확인한다.
- boolean before(Date when)
- 지정된 날짜보다 이전 날짜인지 확인한다.
- int compareTo(Date other)
- 지정된 날짜와 순서를 비교한다.
- long getTime()
- 유닉스타임을 반환한다.
Date now = new Date();
long unxTime = now.getTime(); // 1970년 1월 1일 0시 0분 0초부터 현재 싯점까지의 시간을 1/1000초 단위로 환산한 값이 반환된다.
package date;
import java.util.Date;
public class DateApp {
public static void main(String[] args) {
// java.util.Date
// - 날짜와 시간정보를 표현하는 객체다.
// 자바가 실행되고 있는 시스템의 현재 날짜와 현재 시간정보를 가진 객체가 생성된다
Date now = new Date();
System.out.println(now);
// 유닉스타입값 조회하기
long time = now.getTime();
System.out.println(time);
// 유닉스타임값 조회하기2
long time2 = System.currentTimeMillis();
System.out.println(time2);
}
}
포맷팅
- 날짜와 문자, 숫자와 문자간의 상호 변환을 지원한다.
- 날짜(Date)를 지정된 패턴의 문자열(String)로 변환한다.
- 숫자(int, long, double)를 지정된 패턴의 문자열(String)로 변환한다.
- 날짜형식으로 작성된 문자열(String)을 날짜(Date)로 변환한다.
- 숫자형식으로 작성된 문자열(String)을 숫자(int, long, double)로 변환한다.
날짜 포맷팅
-
SimpleDateFormat
- Date를 지정된 형식의 String으로 변환한다.
- 날짜 형식의 String을 Date로 변환한다.
-
생성자
- SimpleDateFormat(String pattern)
- 지정된 패턴에 대한 포맷팅을 지원하는 객체를 생성한다.
-
주요
- String format(Date date)
- Date를 지정된 패턴의 String으로 반환한다.
- Date parse(String text)
- 지정된 형식의 텍스트를 Date로 변환해서 반환한다.
-
주요 형식 기호
기호 설명 y 년 M 월 d 일 E 요일 a 오전/오후 H 시간(0~23) h 시간(1~12) m 분(0~59) s 초(0~59) S 밀리초(0~999)
-
사용 예제
- Date를 지정된 패턴의 문자열로 변환하기
Date now = new Date();
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy/MM/dd");
String value1 = sdf1.format(now); // "2020/10/20"
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy년 M월 d일 EEEE");
String value2 = sdf2.format(now); // "2020년 10월 20일 화요일"
SimpleDateFormat sdf3 = new SimpleDateFormat("HH:mm:ss");
String value3 = sdf3.format(now); // "21:41:31"
SimpleDateFormat sdf4 = new SimpleDateFormat("a h시 m분 s초");
String value4 = sdf4.format(now); // "오후 9시 42분 31초"
- 문자열을 Date로 변환하기
String text = "2020/10/20 21:42:31";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/ss HH:mm:ss");
Date day = sdf.parse(text); // text변수에 저장된 날짜에 해당하는 Date객체가 생성된다.
숫자
-
DecimalFormat
- 숫자(정수와 실수)를 지정된 패턴의 String으로 변환한다.
- 숫자형식의 String을 숫자로 변환한다.
-
생성자
- DecimalFormat(String pattern)
- 지정된 패턴에 대한 포맷팅을 지원하는 객체를 생성한다.
-
주요 메소드
- String format(double number)
- String format(long number)
- 숫자를 지정한 형식의 텍스트로 변환한다.
- Number format(String text)
- 지정된 형식의 텍스트를 숫자로 변환
-
주요 형식 기호
기호 설명 0 숫자 # 숫자 . 소숫점 , 자리수 구분
-
사용 예제
DecimalFormat df1 = new DecimalFormat("##,###");
String text1 = df1.format(12345678); // "12,345,678"
DecimalFormat df2 = new DecimalFormat("##,###.##");
String text2 = df2.format(123.456); // "123.46"
DecimalFormat df3 = new DecimalFormat("###.00");
String text3 = df3.format(12.4); // "12.40"
DecimalFormat df4 = new DecimalFormat("###.##");
String text4 = df4.format(12.4); // "12.4"
String과 숫자
- 정수나 실수를 문자열로 변환하기
- String String.valueOf(int number)
- String String.valueOf(long number)
- String String.vauleOf(double)
- 문자열을 숫자로 변환하기
- int Integer.parseInt(String text)
- long Long.parseLong(String text)
- double Double.parseDouble(String text)
- 사용 예제
String text1 = String.valueOf(123); // "123"
String text2 = String.valueOf(10000000000L); // "10000000000"
String text3 = String.valueOf(3.14); // "3.14"
int number1 = Integer.parseInt("123"); // 123
long number2 = Long.parseLong("10000000000"); // 10000000000
double number3 = Double.parseDouble("3.14"); // 3.14
Author And Source
이 문제에 관하여(2021. 04. 14(수) TIL), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@eastgun_/2021.-04.-14수-TIL
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
기본자료형 타입에 대응되는 클래스다.
기본자료형 값을 가지고 있는 객체를 만들 수 있다.
java.lang 패키지에 정의되어 있다.
사용해야 할 때
- 기본자료값이 아닌 객체로 저장해야할 때
- 호출할 메소드의 매개변수가 객체를 요구할 때
- null값이 저장될 가능성이 있을 때
- 해당 기본자료형값에 대한 다양한 기능을 실행해야 할 때
지원하는 Wrapper 클래스
기본자료형 | Wrapper 클래스 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
JAVA 1.5버전부터 도입된 기능
기본자료형 타입과 Wrapper객체 타입간의 변환을 자동으로 지원한다.
오토박싱
Integer instance = new Integer(10); // 박싱
Integer instance = 10; // 오토박싱
// Integer instance = new Integer(10); // 실제로 실행되는 코드
오토언박싱
Integer instance = new Integer(10); // 박싱
int value = instance.intValue(); // 언박싱
int value = instance; // 오토 언박싱
// int value = instance.intValue(); // 실제로 실행되는 코드
실제 활용 예제
public class Sample {
public void test1(int value) {
수행문
}
public void test2(Integer instance) {
수행문
}
}
public static void main(String args) {
Sample sample = new Sample();
sample.test1(1);
sample.test2(1); // 실제 실행되는 코드 sample.test2(new Integer(1));
}
package wrapper;
public class WrapperApp {
public static void main(String[] args) {
int x = 10;
// 박싱(Boxing) 기본자료형값을 객체를 생성해서 저장하는 것
Integer i = new Integer(10);
Integer i2 = new Integer("1000");
Double d = new Double(3.14);
Double d2 = new Double("3.14");
Boolean b = new Boolean(true);
Boolean b2 = new Boolean("true");
// 오토박싱(Auto-Boxing) 변수의 타입이 Wrapper 클래스 타입일 때 자동으로
// 해당 기본자료형과 대응되는 객체가 생성되고 그 객체에 값이 저장되는 것
Integer a1 = 100; // Integer a = new Integer(100);
Double a2 = 3.14; // Double a2 = new Double(3.14);
Boolean a3 = true; // Boolean a3 = new Boolean(true);
// 오토언박싱(Auto-unBoxing) 변수의 타입이 기본자료형 타입일 때
// Wrapper 타입의 객체에서 기본자료형값만 가져오는 것
int x1 = a1; // a1의 Wrapper객체에 대한 참조변수다.
// a1이 참조하는 Wrapper객체에 저장된 값만 가져와서
// 변수 x1에 대입된다.
double x2 = a2;
boolean x3 = a3;
}
}
package wrapper;
public class WrapperApp2 {
public static void main(String[] args) {
// 오토박싱이 지원되기 때문에
// 기본자료형 탕비의 변수에 값을 대입하는 것과 Wrapper 타입의 변수에 값을 대입하는 것을
// 구분없이 사용할 수 있다.
String name = "홍길동";
int age = 30;
Double height = 180.4; // Double height = new Double(180.4);
double weight = 78.2;
Boolean isMarried = false;
Integer savedPoint = 10000;
// 오토박싱이 지원되기 때문에
// Wrapper 타입의 배열에 기본자료형 값만 적어도 된다.
Integer[] scores = {100, 100, 80, 100, 50, 60, 70, 80, 50, 60};
// Integer[] scores = {new Interger(100), new Interger(90), new Interger(80), ...}
int total1 = 0;
for (Integer score : scores) {
// 오토언박싱이 지원되기 때문에
// Wrapper타입의 참조변수가 사칙연산자를 만나면 Wrapper 객체에 저장된 값만 가져와서
// 사칙연산에 사용된다.
total1 += score;
}
System.out.println("총합: " + total1);
int total2 = 0;
// 오토언박싱이 지원되기 때문에
// 배열에서 순서대로 조회되는 것이 Wrapper(래퍼)타입의 객체라면
// 그 타입과 대응되는 기본자료형 타입의 변수를 선언해서 값만 사용할 수 있다.
for (int score : scores) {
total2 += score;
}
System.out.println("총합: " + total2);
}
}
package wrapper;
public class WrapperApp3 {
public static void main(String[] args) {
// 문자열을 정수, 실수로 변환하기
String value1 = "150000";
String value2 = "3";
String value3 = "0.01";
int price = Integer.parseInt(value1);
int amount = Integer.parseInt(value2);
double savePointRate = Double.parseDouble(value3);
int total = price * amount;
int point = (int) (total * savePointRate);
System.out.println("총 구매가격 : " + total);
System.out.println("적립포인트 : " + point);
// 오류 상황
// java.lang.NumberFormatException
// int value3 = Integer.parseInt(""); // 빈 문자열은 숫자로 변환할 수 없다.
// int value3 = Integer.parseInt(" "); // 공백이 포함된 문자열은 숫자로 변환할 수 없다.
// int value3 = Integer.parseInt("가나다"); // 숫자가 아닌 문자들은 숫자로 변환할 수 없다.
// int value3 = Integer.parseInt("1234가"); // 숫자가 아닌 문자가 한 개라도 포함되면 숫자로 변환할 수 없다.
// int value3 = Integer.parseInt("123 "); // 공백이 포함되어 있으면 숫자로 변환할 수 없다.
// int value3 = Integer.parseInt("3.14"); // 실수형식의 문자열은 정수로 변환할 수 없다.
}
}
package wrapper;
public class WrapperApp4 {
public static void main(String[] args) {
System.out.println(Byte.MIN_VALUE);
System.out.println(Byte.MAX_VALUE);
System.out.println(Short.MIN_VALUE);
System.out.println(Short.MAX_VALUE);
System.out.println(Integer.MIN_VALUE);
System.out.println(Integer.MAX_VALUE);
System.out.println(Long.MIN_VALUE);
System.out.println(Long.MAX_VALUE);
}
}
- 시스템의 현재 날짜와 시간정보를 표현하는 클래스다.
- java.util 패키지에 있다.
- 주요 생성자
- new Date()
- 현재 날짜와 시간정보가 포함된 객체가 생성된다.
- new Date(long 유닉스타임)
- 지정된 유닉스타임에 해당하는 날짜와 시간정보가 포함된 객체가 생성된다.
// 시스템의 현재 날짜정보와 시간정보가 포함된 Date객체가 생성된다. Date now = new Date(); // 지정된 유닉스타임(long값)에 해당하는 날짜와 시간정보가 포함된 객체가 생성된다. Date date = new Date(0);
- new Date()
- 주요 메소드
- boolean after(Date when)
- 지정된 날짜보다 이후 날짜인지 확인한다.
- boolean before(Date when)
- 지정된 날짜보다 이전 날짜인지 확인한다.
- int compareTo(Date other)
- 지정된 날짜와 순서를 비교한다.
- long getTime()
- 유닉스타임을 반환한다.
Date now = new Date(); long unxTime = now.getTime(); // 1970년 1월 1일 0시 0분 0초부터 현재 싯점까지의 시간을 1/1000초 단위로 환산한 값이 반환된다.
- boolean after(Date when)
package date;
import java.util.Date;
public class DateApp {
public static void main(String[] args) {
// java.util.Date
// - 날짜와 시간정보를 표현하는 객체다.
// 자바가 실행되고 있는 시스템의 현재 날짜와 현재 시간정보를 가진 객체가 생성된다
Date now = new Date();
System.out.println(now);
// 유닉스타입값 조회하기
long time = now.getTime();
System.out.println(time);
// 유닉스타임값 조회하기2
long time2 = System.currentTimeMillis();
System.out.println(time2);
}
}
포맷팅
- 날짜와 문자, 숫자와 문자간의 상호 변환을 지원한다.
- 날짜(Date)를 지정된 패턴의 문자열(String)로 변환한다.
- 숫자(int, long, double)를 지정된 패턴의 문자열(String)로 변환한다.
- 날짜형식으로 작성된 문자열(String)을 날짜(Date)로 변환한다.
- 숫자형식으로 작성된 문자열(String)을 숫자(int, long, double)로 변환한다.
날짜 포맷팅
-
SimpleDateFormat
- Date를 지정된 형식의 String으로 변환한다.
- 날짜 형식의 String을 Date로 변환한다.
-
생성자
- SimpleDateFormat(String pattern)
- 지정된 패턴에 대한 포맷팅을 지원하는 객체를 생성한다.
-
주요
- String format(Date date)
- Date를 지정된 패턴의 String으로 반환한다.
- Date parse(String text)
- 지정된 형식의 텍스트를 Date로 변환해서 반환한다.
-
주요 형식 기호
기호 설명 y 년 M 월 d 일 E 요일 a 오전/오후 H 시간(0~23) h 시간(1~12) m 분(0~59) s 초(0~59) S 밀리초(0~999)
-
사용 예제
- Date를 지정된 패턴의 문자열로 변환하기
Date now = new Date();
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy/MM/dd");
String value1 = sdf1.format(now); // "2020/10/20"
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy년 M월 d일 EEEE");
String value2 = sdf2.format(now); // "2020년 10월 20일 화요일"
SimpleDateFormat sdf3 = new SimpleDateFormat("HH:mm:ss");
String value3 = sdf3.format(now); // "21:41:31"
SimpleDateFormat sdf4 = new SimpleDateFormat("a h시 m분 s초");
String value4 = sdf4.format(now); // "오후 9시 42분 31초"
- 문자열을 Date로 변환하기
String text = "2020/10/20 21:42:31";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/ss HH:mm:ss");
Date day = sdf.parse(text); // text변수에 저장된 날짜에 해당하는 Date객체가 생성된다.
숫자
-
DecimalFormat
- 숫자(정수와 실수)를 지정된 패턴의 String으로 변환한다.
- 숫자형식의 String을 숫자로 변환한다.
-
생성자
- DecimalFormat(String pattern)
- 지정된 패턴에 대한 포맷팅을 지원하는 객체를 생성한다.
-
주요 메소드
- String format(double number)
- String format(long number)
- 숫자를 지정한 형식의 텍스트로 변환한다.
- Number format(String text)
- 지정된 형식의 텍스트를 숫자로 변환
-
주요 형식 기호
기호 설명 0 숫자 # 숫자 . 소숫점 , 자리수 구분
-
사용 예제
DecimalFormat df1 = new DecimalFormat("##,###");
String text1 = df1.format(12345678); // "12,345,678"
DecimalFormat df2 = new DecimalFormat("##,###.##");
String text2 = df2.format(123.456); // "123.46"
DecimalFormat df3 = new DecimalFormat("###.00");
String text3 = df3.format(12.4); // "12.40"
DecimalFormat df4 = new DecimalFormat("###.##");
String text4 = df4.format(12.4); // "12.4"
String과 숫자
- 정수나 실수를 문자열로 변환하기
- String String.valueOf(int number)
- String String.valueOf(long number)
- String String.vauleOf(double)
- 문자열을 숫자로 변환하기
- int Integer.parseInt(String text)
- long Long.parseLong(String text)
- double Double.parseDouble(String text)
- 사용 예제
String text1 = String.valueOf(123); // "123"
String text2 = String.valueOf(10000000000L); // "10000000000"
String text3 = String.valueOf(3.14); // "3.14"
int number1 = Integer.parseInt("123"); // 123
long number2 = Long.parseLong("10000000000"); // 10000000000
double number3 = Double.parseDouble("3.14"); // 3.14
Author And Source
이 문제에 관하여(2021. 04. 14(수) TIL), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@eastgun_/2021.-04.-14수-TIL
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
- 날짜(Date)를 지정된 패턴의 문자열(String)로 변환한다.
- 숫자(int, long, double)를 지정된 패턴의 문자열(String)로 변환한다.
- 날짜형식으로 작성된 문자열(String)을 날짜(Date)로 변환한다.
- 숫자형식으로 작성된 문자열(String)을 숫자(int, long, double)로 변환한다.
SimpleDateFormat
- Date를 지정된 형식의 String으로 변환한다.
- 날짜 형식의 String을 Date로 변환한다.
생성자
- SimpleDateFormat(String pattern)
- 지정된 패턴에 대한 포맷팅을 지원하는 객체를 생성한다.
주요
- String format(Date date)
- Date를 지정된 패턴의 String으로 반환한다.
- Date parse(String text)
- 지정된 형식의 텍스트를 Date로 변환해서 반환한다.
주요 형식 기호
기호 | 설명 |
---|---|
y | 년 |
M | 월 |
d | 일 |
E | 요일 |
a | 오전/오후 |
H | 시간(0~23) |
h | 시간(1~12) |
m | 분(0~59) |
s | 초(0~59) |
S | 밀리초(0~999) |
사용 예제
- Date를 지정된 패턴의 문자열로 변환하기
Date now = new Date();
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy/MM/dd");
String value1 = sdf1.format(now); // "2020/10/20"
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy년 M월 d일 EEEE");
String value2 = sdf2.format(now); // "2020년 10월 20일 화요일"
SimpleDateFormat sdf3 = new SimpleDateFormat("HH:mm:ss");
String value3 = sdf3.format(now); // "21:41:31"
SimpleDateFormat sdf4 = new SimpleDateFormat("a h시 m분 s초");
String value4 = sdf4.format(now); // "오후 9시 42분 31초"
- 문자열을 Date로 변환하기
String text = "2020/10/20 21:42:31";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/ss HH:mm:ss");
Date day = sdf.parse(text); // text변수에 저장된 날짜에 해당하는 Date객체가 생성된다.
DecimalFormat
- 숫자(정수와 실수)를 지정된 패턴의 String으로 변환한다.
- 숫자형식의 String을 숫자로 변환한다.
생성자
- DecimalFormat(String pattern)
- 지정된 패턴에 대한 포맷팅을 지원하는 객체를 생성한다.
주요 메소드
- String format(double number)
- String format(long number)
- 숫자를 지정한 형식의 텍스트로 변환한다.
- Number format(String text)
- 지정된 형식의 텍스트를 숫자로 변환
주요 형식 기호
기호 | 설명 |
---|---|
0 | 숫자 |
# | 숫자 |
. | 소숫점 |
, | 자리수 구분 |
사용 예제
DecimalFormat df1 = new DecimalFormat("##,###");
String text1 = df1.format(12345678); // "12,345,678"
DecimalFormat df2 = new DecimalFormat("##,###.##");
String text2 = df2.format(123.456); // "123.46"
DecimalFormat df3 = new DecimalFormat("###.00");
String text3 = df3.format(12.4); // "12.40"
DecimalFormat df4 = new DecimalFormat("###.##");
String text4 = df4.format(12.4); // "12.4"
- String String.valueOf(int number)
- String String.valueOf(long number)
- String String.vauleOf(double)
- int Integer.parseInt(String text)
- long Long.parseLong(String text)
- double Double.parseDouble(String text)
String text1 = String.valueOf(123); // "123"
String text2 = String.valueOf(10000000000L); // "10000000000"
String text3 = String.valueOf(3.14); // "3.14"
int number1 = Integer.parseInt("123"); // 123
long number2 = Long.parseLong("10000000000"); // 10000000000
double number3 = Double.parseDouble("3.14"); // 3.14
Author And Source
이 문제에 관하여(2021. 04. 14(수) TIL), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@eastgun_/2021.-04.-14수-TIL저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)