2014-04-08 82 views
-2

我有一個設置實例變量名稱的代碼,但是如果用戶輸入null,名稱應該顯示爲「未知」 我無法考慮如何執行此操作,請檢查拿出我的代碼並幫助我解決錯誤。謝謝!如果字符串爲空賦值給變量

我的代碼:

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

他們怎麼會進入'null'?你的意思是'String'值'「null」'?如果你正在檢查引用相等,使用'=='。 –

+0

不! ''null''不==''null',甚至不接近。如果用戶輸入null,那麼他們正在輸入String,'「null」',這是我想你應該檢查的。但是這與無變量無關,這是一個未賦值的變量。 –

+0

你的代碼非常容易混淆'this.name'和'name'。如果'name'只是一個參數,你爲什麼要設置它? –

回答

0

如果用戶輸入空它必須與「空」的字符串進行檢查,像下面。增加了幾個檢查。

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

啊謝謝。我試着==而不是.equals(),它的工作! – Nadal

0
if (name.equals("null")) 
{ 
    name = "Unknown"; 
} 
+0

現在,這被認爲是低質量的職位。嘗試添加一個解釋,爲什麼這將解決這個問題。 – Jonesopolis

相關問題