1. 기본 타입 ↔ 문자열(String Class)
1. 기본 타입 → 문자열
// 기본 타입 → 문자열
byte b = 10;
int i = 1;
double d = 1.0;
boolean check = true;
// String.valueOf()
String byteToStr1 = String.valueOf(b);
String intToStr1 = String.valueOf(i);
String doubleToStr1 = String.valueOf(d);
String booleanToStr1 = String.valueOf(check);
// Wrapper.toString()
String byteToStr2 = Byte.toString(b);
String intToStr2 = Integer.toString(i);
String doubleToStr2 = Double.toString(d);
String booleanToStr2 = Boolean.toString(check);
2. 기본 타입 ← 문자열
// 기본 타입 ← 문자열
String bStr = "10";
String iStr = "1";
String dStr = "1.0";
String checkStr = "true";
// Wrapper.parseXXX()
byte b = Byte.parseByte(bStr);
int i = Integer.parseInt(iStr);
double d = Double.parseDouble(dStr);
boolean check = Boolean.parseBoolean(checkStr);
2. 기본 타입 ↔ Wrapper Class
1. 기본 타입 → Wrapper Class
// 기본 타입 → Wrapper Class
byte b = 10;
int i = 1;
double d = 1.0;
boolean check = true;
// 자동 박싱 (자바 5부터 추가된 기능)
Byte byteToWrapper1 = b;
Integer integerToWrapper1 = i;
Double doubleToWrapper1 = d;
Boolean booleanToWrapper1 = check;
// 직접 박싱 (자바 4 이전 버전 필수) => new
Byte byteToWrapper2 = new Byte(b);
Integer integerToWrapper2 = new Integer(i);
Double doubleToWrapper2 = new Double(d);
Boolean booleanToWrapper2 = new Boolean(check);
// 직접 박싱 (자바 4 이전 버전 필수) => Wrapper.valueOf()
Byte byteToWrapper3 = Byte.valueOf(b);
Integer integerToWrapper3 = Integer.valueOf(i);
Double doubleToWrapper3 = Double.valueOf(d);
Boolean booleanToWrapper3 = Boolean.valueOf(check);
2. 기본 타입 ← Wrapper Class
// 기본 타입 ← Wrapper Class
Byte byteToWrapper = 10;
Integer integerToWrapper = 1;
Double doubleToWrapper = 1.0;
Boolean booleanToWrapper = true;
// 자동 언박싱 (자바 5부터 추가된 기능)
byte b1 = byteToWrapper;
int i1 = integerToWrapper;
double d1 = doubleToWrapper;
boolean check1 = booleanToWrapper;
// 직접 언박싱 (자바 4 이전 버전 필수) => Wrapper.xxxValue()
byte b2 = byteToWrapper.byteValue();
int i2 = integerToWrapper.intValue();
double d2 = doubleToWrapper.doubleValue();
boolean check2 = booleanToWrapper.booleanValue();
3. 문자열 ↔ byte[]
개발을 하다 보면 바이트 배열로 자주 변환하곤 합니다.
특히 네트워크를 활용하여 문자열을 전송하거나 또는 문자열 데이터를 암호화할 경우 바이트 배열로 변환하게 됩니다.
1. 문자열 → byte[]
// byte[] ← Wrapper Class
String str = "A";
// getBytes()
byte[] strTobytes = str.getBytes(StandardCharsets.UTF_8); // 문자셋 생략 시 시스템의 기본 문자셋으로 인코딩
// 출력
System.out.println(Arrays.toString(strTobytes)); // [65] A의 ASCII 코드 값
2. 문자열 ← byte[]
// byte[] → Wrapper Class
byte[] bytes = {65};
String bytesToStr2 = new String(bytes);
String bytesToStr1 = bytes.toString(); // Object의 toString이 실행되므로 메모리 번지수가 출력 (잘못 된 예)
// 출력
System.out.println(bytesToStr2); // A
System.out.println(bytesToStr1); // 번지 수 (잘못 된 예)
'Backend > Java' 카테고리의 다른 글
[Java] 인터페이스 확장 (디폴트 메소드의 필요성) (0) | 2022.04.25 |
---|---|
[Java] 인터페이스 상속 (0) | 2022.04.25 |
[Java] 자바 Json 데이터 변환 (Json String To Java Object) (0) | 2022.03.19 |
[Java] 자바 콘솔 데이터 입력 받기 (Scanner) (0) | 2022.03.17 |
[Java] 자바 문자형 숫자 정수형 변환 (char type number to int) (0) | 2022.03.01 |