Java String과 Object형 변환

Android용 ADfresca SDK작업중 C++ -> Java를 JNI로 호출할 때 ApiKey를 인자로 jstring로 넘겨주게 해놨습니다. Java에서는 String로 받아 Message의 Object형 멤버 obj에 대입해서 메세지를 보내죠.

문제는 메세지핸들링 할 때 이클립스의 인텔리전스?인지 자동으로 나오는 것으로 해줬습니다. 그랬더니 (String)msg.obj 로 그냥 캐스팅 하더군요. 빌드도 문제없고 실행도 되지만,

java.lang.classcastexception cannot be cast to java.lang.string

java.lang.classcastexception (String) msg.obj

위와같은 exception을 뿜어냅니다. 뭐지 싶어 msg.obj. 을 누르니 toString가 있네요. 이렇게 하고 잘 됩니다. 정리하자면,

String strA, strB;
...
Object obj = strA;
//strB = String.valueOf(obj); 이것도 가능한 듯?
strB = obj.toString();

입니다.

댓글

이 블로그의 인기 게시물

'xxx.exe' 프로그램을 시작할 수 없습니다. 지정된 파일을 찾을 수 없습니다.

goorm IDE에서 node.js 프로젝트로 Hello World Simple Server 만들어 띄워보기

애드센스 수익을 웨스턴 유니온으로 수표대신 현금으로 지급 받아보자.