因此,我购买了“Java for Dummies”第四版书,我必须说这可能是我花在书上的30美元中最好的。我对编码并不陌生,如果我自己这么说的话,实际上对此我还算不错。
但是,我遇到了一些让我有些困惑的代码:
public void setName(String n)
{
if(!n.equals(""))
{
name = n;
}
}
我的问题出现在第三行,if(!n.equals(“”))部分...我知道if循环如何工作(即:if(this == that){do stuff}),但是我我还没有看过之前设置的!n.equals(“”)。有人可以向我解释吗?
PS:只是在猜测。是否与以下内容相同:
public void setName(String n)
{
if(n != "")
{
name = n
}
}
我认为这只是确保用户不输入名称(即myAccount.setName =“”;)的一种方法,它不会退回错误并且运行正常,但是我不确定。
在此先感谢您的帮助!
编辑:更改了我的“myAccount.name =”“;”改为“myAccount.setName =”“;”,对于造成的困惑,我们深表歉意。
谢谢:前往Asaph,感谢您的回答!他也与卢卡斯·阿德瓦克(Lucas Aardvark)一样,但感谢大家,阿萨夫首先用自己的回答回答了我的验证评论!
最佳答案
if(!n.equals(""))
{
name = n;
}
表示如果n不是一个空字符串,则将其值分配给name。
在Java中,每个对象都有一个equals(Object o)方法来测试与另一个Object的相等性。 ==运算符通常用于比较基元。它也可以用来比较对象的“相同性”。 IE。这两个对象实际上是同一实例。这对于不可变类型(例如Strings)和所有原始类型(例如Integer和Long)的对象包装都非常方便。