Java String 형변환 - Java String hyeongbyeonhwan

BackEndJava

2018-06-13

BackEnd, Java

String -> int, int-> String 형변환

1) String -> int 형변환

1
Integer.parseInt(str);

2) int -> String 형변환

1
String.valueOf(numInt);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class TestClass {

public static void main(String[] args) {
String str = "1";

// String -> int 형변환
int numInt = Integer.parseInt(str);
System.out.println(numInt + 1); // 출력 결과 : 2


// int -> String 형변환
String numStr = String.valueOf(numInt);
System.out.println(numStr + 1); // 출력결과 : 11
}
}

[JAVA] String to int, int to String 형변환 컴퓨터/코딩 - java, jsp 2013. 4. 7. 23:00

자바(JAVA) 형 변환(String과 int)

Strinig to int

String from = "123";

int to = Integer.parseInt(from);

int to String

int from = 123;

String to = Integer.toString(from);

저작자표시 비영리 변경금지

'컴퓨터 > 코딩 - java, jsp' 카테고리의 다른 글

[JSTL] JSTL <c:if>, <c:choose>, <c:forEach> 기본문법  (0)[JAVA] String to Date, Date to String 형변환  (0)[Spring] Spring Framework 교육 메모 - 5일차  (0)[Spring] Spring Framework 교육 메모 - 3일차  (0)[Spring] Spring Framework 교육 메모 - 2일차  (0)
2013.07.31
2013.04.08
2013.03.28
2013.03.09
2013.03.09

iNT, Java, String, 자바, 자바 형변환

, 댓글5

티스토리 뷰

valueOf (Object obj)

  • Returns the string representation of the Object argument. (Java docs)
  • if the argument is null, then a string equal to "null"; otherwise, the value of obj.toString() is returned. (Java docs)
  • 파라미터에 들어가는 Object (int, boolean, double, float ...) 등을 String 문자열 표현으로 바꿔 반환해준다.
  • 파라미터가 null 이라면, String 문자열로 "null"로 반환되며, null이 아니라면 toString() 함수값을 반환한다.

Object.toString()

  • In general, the toString method returns a string that "textually represents" this object. (Java docs)
  • The result should be a concise but informative representation that is easy for a person to read. (Java docs)
  • It is recommended that all subclasses override this method. (Java docs)
  • Returns : a string representation of the object. (Java docs)
  • 일반적으로, toString 메소드는 이 object를 "텍스트로 표현하는" String 문자열을 반환한다.
  • 결과는 사람들이 읽기 쉬운 유의미하지만 간결한 표현이여야 한다. 모든 subclass들이 이 메소드를 오버라이드하는 것이 좋다.

Casting

  • Object가 String 타입을 필요로 한다는 것을 의미한다.
  • 따라서 Object가 실제로 String 문자열이여야 변환된다.
  • ex)
    • int value = 432;
    • String str = value + ""; -> str은 문자열 "432"가 된다. (int -> String 으로 변환하는 방법 중 하나)
      • why?) 덧셈 연산자는 두 개의 피연산자 중 어느 한 쪽이라도 String이라면 결과는 String이다.
    • Object reallyAString ="foo";
    • String str =(String) reallyAString; -> str은 문자열 "foo"가 된다.
    • Object notAString =newInteger(42);
    • String str =(String) notAString; -> ClassCastException 발생시킨다.
    • Object nullValue = null;
    • String str = (String) nullValue; -> str은 문자열 "null"이 된다.

Obj.toString()

  • Object (Wrapper Class[Integer, Character, Double ...]) 의 데이터를 String 문자열로 바꿔준다.
  • toString() 은 메소드이므로 기본 자료형 (Primitive Type) 은 사용할 수 없다.
  • ex)
    • int primitype = 3;
    • String str = primitype.toString() -> 기본 자료형은 메소드를 사용할 수 없으므로 에러가 발생한다.
    • String str = (new Integer(42)).toString() -> str은 문자열 "42"가 된다.
    • Object nullValue = null;
    • String str = nullValue.toString() -> NullPointerException 발생시킨다.

String.valueOf()

  • 어떠한 값을 넣어도 모두 String 문자열로 변환할 수 있다.
  • ex)
    • String str;
    • str =String.valueOf(newInteger(42)); -> str은 문자열 "42"가 된다.
    • str =String.valueOf("foo"); -> str은 문자열 "foo"가 된다.
    • Object nullValue =null;
    • str =String.valueOf(nullValue); -> 위에서 언급한 것과 같이 문자열 "null"가 된다.

Casting / valueOf() 성능 비교

  • case 1:
    • 1. strTest1 = "" + 432;
    • 2. strTest2 = String.valueOf(432); (O)
    • 1번의 경우, 빈 문자열에 다른 타입 데이터를 덧셈 연산자 (+) 로 연결할 시 효율성이 떨어진다고 한다.
    • 왜냐하면 빈 문자열에 String을 +로 연산하면 컴파일러에서 데이터 판단 작업이 발생 하기 때문이라고 한다.
  • case 2:
    • 1. strTest = "0" + 432; (O)
    • 2. strTest = "0" + String.valueOf(432);
    • 해당 사례의 경우, "0" 자체는 빈 String 문자열이 아니기 때문에 이후에 + 로 연결되는 데이터는 String으로 인식한다.
    • 따라서, 불필요하게 String.valueOf() 메소드를 쓸 필요가 없다고 한다.

Reference

  • //m.blog.naver.com/PostView.nhn?blogId=yysvip&logNo=220105002997&proxyReferer=https%3A%2F%2Fwww.google.com%2F
  • //plogds.tistory.com/174
  • //docs.oracle.com/javase/7/docs/api/
  • //stackoverflow.com/questions/16815279/difference-between-casting-to-string-and-string-valueof

Toplist

최신 우편물

태그