2014-04-08 5 views
-2

사용자가 null을 입력하면 이름이 "알 수 없음"으로 표시되지만 인스턴스 변수 이름을 설정하는 코드가 있습니다 어떻게 수행 할 것인지 생각할 수 없습니다. 내 코드를 빼내고 내가 잘못 생각하는 방법을 알려주십시오. 감사!문자열이 null 인 경우 변수에 할당

내 코드 : 사용자가 널 (null) 입력

if (name.equals(null)) 
    { 
     this.name = name; 
     name="Unknown"; 
    } 
    else 
    { 
     this.name=name; 
    } 
+1

if (name.equals("null")) { name = "Unknown"; } 
? 'String' 값''null ''을 의미합니까? 참조 평등을 검사하는 경우'=='를 사용하십시오. –

+0

아니요! ''null ''은 =='null'이 아니라 닫히지 않습니다. 사용자가 null을 입력하면 문자열을 입력하고 "null"을 표시하고 확인해야합니다. 그러나 그것은 할당되지 않은 변수 인 null 변수와 아무 관련이 없습니다. –

+0

코드는'this.name'과'name'과 매우 혼동합니다. 'name'이 매개 변수 인 이유는 무엇입니까? –

답변

0

경우는 아래와 같이, "NULL"문자열로 확인해야합니다. 수표를 몇 장 더 추가했습니다.

if (name == null || "".equals(name.trim()) || "null".equals(name)) { 
     this.name = name; 
     this.name="Unknown"; 
} else { 
     this.name=name; 
} 
+0

감사합니다. 나는 == 대신에 .equals()를 시도했는데 성공했다! – Nadal

0
어떻게 그들이`null`을 입력
+0

약자로, 이것은 품질이 낮은 게시물로 간주됩니다. 이것이 문제를 해결할 수있는 이유에 대한 설명을 추가하십시오. – Jonesopolis

관련 문제