我有这样的构造函数
public Name(String firstName, String lastName)
{
setFirstName(firstName);
setLastName(lastName);
}
public Name(String firstName, String lastName, String middleName)
{
setFirstName(firstName);
setLastName(lastName);
setMiddleName(middleName);
}
我想像这样重写我的 toString() 方法
@Override
public String toString()
{
if(no middle name)
{return getFirstName() + " " + getLastName();}
else if(has a middle name)
{return getFirstName() + " " + getMiddleName() + " " + getLastName();}
}
我应该做什么?
最佳答案
@Override
public String toString()
{
if(middleName == null)
{return getFirstName() + " " + getLastName();}
else
{return getFirstName() + " " + getMiddleName() + " " + getLastName();}
}
您可能想查看Guava's Strings对于 isNullOrEmpty(),例如(并且只有一个返回
,正如 riccardo.cardin 指出的那样,这是更好的做法):
@Override
public String toString()
{
String nameString = null;
if (Strings.isNullOrEmpty(middleName))
{
nameString = getFirstName() + " " + getLastName();
}
else
{
nameString = getFirstName() + " " + getMiddleName() + " " + getLastName();
}
return nameString;
}
关于java - 如何检查用户使用哪个构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29288067/