String : 문자열 ["123"]
int : 숫자 [ 123 ]
입니다.
그런데 String을 int로 바꾸려고 합니다.
뭐 간단하죠~
String str = "123"; //string "123"선언
System.out.println((int)str); //"123"을 123으로 바꾼다.
!!! 그런데 오류가 납니다.
System.out.println((int)str);
왜 오류가 날까요?
메모리 차이때문입니다. 메모리 차이때문에 손실이 발생할수 있기때문이죠.(자세한건 네이버ㅋ)
String 은 (문자수)byte
String = char[]
char = 1byte
String 1*문자수 = 문자수
정확하지 않을수있습니다. 아시는분은 댓글로..
int 는 4byte
그럼 어떻게 할까요?
System.out.println((int)str);
이거를
System.out.println(Integer.valueOf(str));
쉽죠?
반대로 int -> String은
System.out.println(Integer.toString(str)); 또는
System.out.println(String.valueOf(str));
String -> char는? (char:1byte입니다.)
String str = "abc";
str.charAt(변환한 문자의 위치);
위치는
a : 0
b : 1
c : 2
0부터 시작합니다.
그런데 이렇게 힘들게 변환해서 뭐할까요?
모드만들다가 필요한경우가 생깁니다.ㅋ
예를들어
String형식은 연산을 할수없습니다.
String s = "120";
s+120 (불가능)
하지만 int형식은 연산이 가능합니다.
int i = 120;
i+120 (가능)
정리:
String -> int:
Integer.valueOf(String형식)
int -> String:
Integer.toString(int형식)
String.valueOf(int형식)
String -> char:
str.charAt(String형식의 변환한 문자의 위치);
많이 중요한건 아니니 모르시거나 이해가 안되시면 그냥 넘어가세요ㅋ
그리고 틀린부분있으면 지적해주세요.
[출처] [팁] String -> int 변환|작성자 룻트
'old drawer > Java' 카테고리의 다른 글
[Java] 자료형 (0) | 2011.06.17 |
---|---|
[Java] enum 사용법 (0) | 2011.06.17 |
[Java] Thread.interrupt() 사용법 (0) | 2011.06.11 |
[Java] Runable과 Thread의 차이점 (0) | 2011.06.11 |
[Java] Painting in AWT and Swing (0) | 2011.06.08 |