在toString中打印对象值

时间:2013-01-18 06:05:09

标签: java

我想覆盖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
    }
}

5 个答案:

答案 0 :(得分:1)

试试这个

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

答案 1 :(得分:1)

怎么样

public String toString()
{
    Name name = getName();
    return name.getFirst() + " " + name.getLast();
}

答案 2 :(得分: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);

答案 3 :(得分:0)

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

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

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

上面提供的代码段会从First Name读取_name,在其后面附加一个空格,然后在最后一个字符串上附加Last name

答案 4 :(得分: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);
    }
}