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()
{
    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 に答える
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 に答える
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 に答える
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 に答える