简体   繁体   English

在toString中打印对象值

[英]Print object values in toString

I wants to override toString() method to show name of user but Name is the inner class of User class so how can I print it. 我想重写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
    }
}

Try like this 这样尝试

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

How about 怎么样

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

Try this: 尝试这个:

@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);

If you want to return for example John Deer you can try this code: 例如,如果您想返回John Deer ,可以尝试以下代码:

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

concat(string str) appends the string str to the end of the String object it is called on. 的concat(字符串str)附加字符串str到它被称为在字符串对象的端部。 You can read more about it on the link. 您可以在链接上了解更多信息。

The snippet provided above will read First Name from _name , append an empty space just after it and then append the Last name on the final string. 上面提供的代码段将从_name读取First Name ,在其后添加一个空格,然后在最终字符串上添加Last name

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

Call like this. 这样打电话。

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);
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 将对象信息打印为不带toString()的toString()吗? - Print object information as toString() without toString()? 尝试通过toString()打印对象 - Trying to print object through toString() toString()方法未打印正确的对象值 - toString() method not printing the correct values of object 如何在 arraylist (Java) 中搜索对象的元素,如果存在,则打印该对象的 .toString - How to search an element of an object in an arraylist (Java) and if it exists, print the .toString of that object 有任何理由明确使用toString()方法在Java中打印对象 - Any reason to use toString() method explicitly to print an object in Java 如果已重新定义toString方法,如何打印对象的地址 - How to print the address of an object if you have redefined toString method 为什么在打印对象时调用toString()方法? - Why is the toString() method being called when I print an object? 讲师希望我们给一个对象一个 print() 方法而不是重载 toString() - Lecturer wants us to give an object a print() method instead of overloading toString() 如何使用 toString 方法在第三个对象中打印两个对象? - How to use toString method to print two objects within a third object? 如何获得同时打印对象地址和自定义toString的功能 - How to gain the ability to print out both object address and customized toString
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM