2014-03-05 4 views
0
private boolean CharToString(){ 
    String lineOfText = "XXXXXX"; 
    String desiredResult = "X"; 
    String actualResult = "initialised value"; 
    for(int i = 0; i < lineOfText.length(); i ++){ 
     actualResult = Character.toString(lineOfText.charAt(i)); 
     } 
    if(desiredResult == actualResult){ 
     return true; 
    } else{ 
     return false; 
    } 
} 

기본적으로이 코드는 내가 가지고있는 것을 재현하지만 오랜 시간 진단 및 테스트 후 문제가 무엇인지 강조하기 위해 디자인되었습니다. . 보시다시피, actualResult의 값을 lineOfText의 현재 위치에있는 문자의 'char'값으로 설정합니다. 모든 값은 "X"를 문자열 (char에서 변환)로 출력합니다.'Char'유형이 예상대로 '문자열'유형으로 변환되지 않습니다.

는하지만, 내 디버그 drawText() 방법으로 "X"를 출력 actualResultdesiredResult 모두에도 불구하고, 나에게 알 수없는 이유로 (내가 콘솔 로그 ...를 사용하는 방법을 작동하지 않을 수 있습니다), 방법이 있음을 나타냅니다 false를 반환 두 문자열 변수는 이 아니며과 같습니다.

이상하게도 if() elseswitch()으로 변경하면 true (예 : 의도 한대로 작동)을 반환합니다.

나는이 바보 같은 질문 경우 인터넷 검색 및 StackOverflow의 검색하지만 내 검색어 내가 더 유용한 결과 :(

어떤 도움을 받고없는거야으로 크게 감사하고, 죄송 할 것입니다 잘못된/아마 가난한 시도했습니다 - 나 자신을 알아 내려고 노력해 왔습니다.

ps 온라인으로 사용할 수있는 좋은 그래픽 편집기는 있습니까? .txt 파일을 편집하여지도를 작성하는 것은 지나치게 복잡하고 일관성을 유지하기가 어려워 보입니다. 또는 커다란/복잡한지도의 개발에 일관성 ... 나는 당신이 3D 자바 게임을 만들 수있는 방법이있을 것이라고 생각합니다.

답변

1

==을 사용하여 문자열을 비교하지 마십시오. equals()을 항상 사용하십시오. ==은이 주소가 아닌 동일한 메모리 주소를 가리키는 것으로 비교합니다. 이

+0

오! 고맙습니다! ... Eclipse 만이 그것에 대한 경고와 함께 돌아왔다면. – ZOMGbies

+0

@ZOMGbies Netbeans를 사용하면 경고 메시지가 나타납니다. :) – WonderWorld

0

다른 메모리 위치를 참조 2 문자열을 비교하기 위해 무엇을해야

private boolean CharToString(){ 
String lineOfText = "XXXXXX"; 
String desiredResult = "X"; 
String actualResult = "initialised value"; 
for(int i = 0; i < lineOfText.length(); i ++){ 
    actualResult = Character.toString(lineOfText.charAt(i)); 
    } 
if(desiredResult.equals(actualResult)){ 
    return true; 
} else{ 
    return false; 
} 
} 

당신은 사용해야

if(desiredResult.equals(actualResult) { 
    return true; 
} else { 
    return false; 
} 

을하는 경우가했을 경우

String desiredResult = "test"; 
String actualResult = desiredResult; 

이 경우 if(desiredResult == actualResult)을 사용할 수 있지만 equals()을 사용하면 더 나은 연습.

+0

도움 주셔서 감사합니다! :) – ZOMGbies

관련 문제