wrapper class : 기본 자료타입(primitive type)을 객체로 다루기 위해서 사용하는 클래스
일반 자료형 wrapper class
boolean Boolean
byte Byte
short Short
int Integer ->
long Long
float Float
double Double ->
char Character
char[] String ->
일반 자료형 -> 래퍼 클래스 = 박싱(Boxing)
래퍼 클래스 -> 일반 자료형 = 언박싱(UnBoxing)
class사용시에는 동적 할당
클래스명 클래스 변수(인스턴스) = new 클래스명();
클래스명 클래스 변수(인스턴스) = 값;
String str = "hello";
간단한 사용 예제
char c = 'a'; //->하나의 문자만 사용 가능
char cArr[] = {'h','e','l','l','o'}; //-> 배열을 사용하여 하나의 문자들을 묶음으로 hello출력
System.out.println(cArr);
int i = 123; //->일반 자료형
Integer iobj = 123; //-> wrapper 클래스
Integer iobj2 = new Integer(123);
System.out.println("i =" + i);
System.out.println("iobj =" + iobj);
System.out.println("iobj2 = "+ iobj2); //셋 결과는 다 똑같음
double d = 123.456;
Double dobj = 123.456;
System.out.println("d =" + d);
System.out.println("dobj = " + dobj);
String str = "hello world";
str = "i can do it";
System.out.println("str = " + str);
//문자열 -> 숫자 change
String numStr = "123";
int number = Integer.parseInt(numStr);
System.out.println("number = "+ number);
//숫자 -> 문자열 change
Integer oNumber = 12345;
//String str1 = oNumber.toString();
String str1 = oNumber + "";
System.out.println("str1 = " + str1);
//10진수 -> 2진수
int number1 = 67;
String str2 = Integer.toBinaryString(number1);
System.out.println("str2 = " + str2); // 100 0011
//10진수 -> 16진수
String str3 = Integer.toHexString(number1);
System.out.println("str3 = " + str3);
//2진수 -> 10진수
//16진수 -> 10진수
//String : 문자열의 저장, 편집, 정보취득
String str4 = null;
System.out.println(str4);
String str5 = new String("hello");
String str6 = "world";
String str7 = str5 + str6;
System.out.println(str7);
//문자 연결(concat)
String str8 = str5.concat(str6);
System.out.println(str8);
//문자열 비교
String str9 = "world";
String str10 = "world";
boolean b = str9.equals(str10); //str9과 str10을 비교해서 같으면 true 다르면 false
System.out.println("b = " + b);
//문자의 위치
String str11 = "abcabcabc";
int n = str11.indexOf("c"); //앞에서 find
System.out.println("n = " + n);
int n1 = str11.lastIndexOf("c"); //뒤에서 find
System.out.println("n1 = " + n1);
//문자열의 길이(.length)
int len = str11.length();
System.out.println("len = " + len);
//문자열을 수정(replace)
String str12 = "A*B*C*D";
String replaceStr = str12.replace("*", "-");
System.out.println(replaceStr);
//문자열 자르기(substring)
String str13 = "홍길동-24-2001/10/16-서울시";
//범위
String subStr = str13.substring(4, 6);
System.out.println(subStr);
subStr = str13.substring(7);
System.out.println(subStr);
//토큰(token = 기호)
String split[] = str13.split("-");
System.out.println(split.length);
System.out.println(split[0]); //->이름
System.out.println(split[1]); //->나이
System.out.println(split[2]); //->생년월일
System.out.println(split[3]); //->주소지
//공백을 제거(trim)
String str14 = " java java java ";
String trimStr = str14.trim();
System.out.println(trimStr);
//몇번 째인지 숫자는 넣으면 한개의 문자를 돌려줌
String str15 = "가나다라마";
char c1 = str15.charAt(2);
System.out.println("c1 = " + c1);
//문자열 (비교)탐색
String str16 = "서울시 강남구 역삼동";
boolean b1 = str16.contains("강남");
System.out.println(b1);