java - 如何检查用户使用哪个构造函数

标签 java string

我有这样的构造函数

    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/

相关文章:

java - 在android中将引用作为参数传递

c++ - 努力将 LPSTR 和字符串添加到 LPCTSTR

c#文件路径字符串比较不区分大小写

java - 在java中旋转字符串中的单词

java - Jack Shirazi DoubleToString java优化问题

java - 这段代码在计算 URL 文件大小时是否存在某种瓶颈?

java - 在 Java 中移动图像

java - Appium android - 按属性查找元素

java - 在JavaFX中的Initialize方法中使用Scanner

string - VBA:如何在字符串中查找 "@"符号之后的值