我有一個設置實例變量名稱的代碼,但是如果用戶輸入null,名稱應該顯示爲「未知」 我無法考慮如何執行此操作,請檢查拿出我的代碼並幫助我解決錯誤。謝謝!如果字符串爲空賦值給變量
我的代碼:
if (name.equals(null))
{
this.name = name;
name="Unknown";
}
else
{
this.name=name;
}
我有一個設置實例變量名稱的代碼,但是如果用戶輸入null,名稱應該顯示爲「未知」 我無法考慮如何執行此操作,請檢查拿出我的代碼並幫助我解決錯誤。謝謝!如果字符串爲空賦值給變量
我的代碼:
if (name.equals(null))
{
this.name = name;
name="Unknown";
}
else
{
this.name=name;
}
如果用戶輸入空它必須與「空」的字符串進行檢查,像下面。增加了幾個檢查。
if (name == null || "".equals(name.trim()) || "null".equals(name)) {
this.name = name;
this.name="Unknown";
} else {
this.name=name;
}
啊謝謝。我試着==而不是.equals(),它的工作! – Nadal
if (name.equals("null"))
{
name = "Unknown";
}
現在,這被認爲是低質量的職位。嘗試添加一個解釋,爲什麼這將解決這個問題。 – Jonesopolis
他們怎麼會進入'null'?你的意思是'String'值'「null」'?如果你正在檢查引用相等,使用'=='。 –
不! ''null''不==''null',甚至不接近。如果用戶輸入null,那麼他們正在輸入String,'「null」',這是我想你應該檢查的。但是這與無變量無關,這是一個未賦值的變量。 –
你的代碼非常容易混淆'this.name'和'name'。如果'name'只是一個參數,你爲什麼要設置它? –