2013-04-21 6 views
0

Integer.toString 변환에 문제가 있습니다. 이 코드는 "ololo"를 출력합니다. 왜? 정수를 문자열로 변환하려면 어떻게해야합니까? 그들은 String 객체 참조를 비교하기 때문에Integer to String conversion?

String str1= "1"; 
String str2=Integer.toString(1); 
if (str1!=str2)Log.d("myLogs","ololo");  
+0

에 대한 == 또는 !=을 사용할 수 없습니다. –

+0

'문자열 비교 Java'를 검색하면 많은 조회수를 얻을 수 있습니다. – Keppil

+0

왜 Integer의 toString()을 사용합니까 ?? 'String str2 = 1 + "";;을 사용하십시오. –

답변

2

당신은 equals 방법,하지 ==!= 연산자를 사용하여 String의 비교해야합니다. 사용할 때 Integer#toString 당신이 이렇게 설명하는 오류가의 String JVM 풀에없는 새로운 String를 만드는 것을

if (!str1.equals(str2)) { 
    Log.d("myLogs","ololo"); 
} 

참고.

0

문자열 비교는 equals로 수행해야합니다. 당신이 사용하는 경우
if (!str1.equals(str2))...

!= 당신은 참조 평등 (불평등)

0

!str1.equals(str2)을 대신 사용하십시오.

당신은 당신은`String`s가 아니라`==`이나`! =``equals` 방법을 사용하여 비교해야 문자열