0

我想重写 toString() 方法以显示用户名,但 Name 是 User 类的内部类,所以我该如何打印它。

public class User
{
    public static class Name 
    {
        private String _first, _last;

        public String getFirst() { return _first; }
        public String getLast() { return _last; }

        public void setFirst(String s) { _first = s; }
        public void setLast(String s) { _last = s; }
    }
    private Name _name;
    public Name getName() { return _name; }
    public void setName(Name n) { _name = n; }

    @Override
    public String toString()
    {
        return "";//How to print first name and last name here
    }
}
4

5 回答 5

1

像这样试试

@Override
    public String toString() {
        return _name.getFirst()+_name.getLast();
    }
于 2013-01-18T06:10:02.113 回答
1

怎么样

public String toString()
{
    Name name = getName();
    return name.getFirst() + " " + name.getLast();
}
于 2013-01-18T06:12:19.280 回答
1

尝试这个:

@Override
public String toString()
{
    String a = getName()._first;
    String b = getName()._last;
    return "a: " + a + " :: b: " + b;//How to print first name and last name here
}

User user = new User();
User.Name name = new User.Name();
name.setFirst("first name");
name.setLast("last name");
user.setName(name);
System.out.println(user);
于 2013-01-18T06:13:24.287 回答
0

例如,如果您想返回,John Deer可以尝试以下代码:

@Override
    public String toString()
    {
        return _name.getFirst().concat(" ").concat(_name.getLast());
    }

concat(string str)将字符串附加str到调用它的 String 对象的末尾。您可以在链接上阅读更多相关信息。

上面提供的代码段将从 读取First Name_name在其后附加一个空格,然后将 附加Last name到最终字符串上。

于 2013-01-18T06:13:49.713 回答
0
@Override
    public String toString()
    {
        return _name.getFirst() + " " + _name.getLast();
    }

像这样打电话。

public class MyMain {
    public static void main(String[] args) {
        User.Name name = new Name();
        name.setFirst("Clement");
        name.setLast("Alexandria");
        User user = new User();
        user.setName(name);
        System.out.println(user);
    }
}
于 2013-01-18T06:25:25.293 回答