打印对象列表的元素

11dmarpk  于 2021-07-12  发布在  Java
关注(0)|答案(2)|浏览(337)

这个问题在这里已经有答案了

如何打印java对象而不获取“sometype@2f92e0f4”? (10个答案)
11个月前关门了。
//联系人类

package com.company;

public class Contacts {
    private String name;
    private String number;

    public Contacts(String name, String number) {
        this.name = name;
        this.number = number;
    }

    public  String getName() {
        return name;
    }

    public String getNumber() {
        return number;
    }
}

//class Phone
package com.company;

import java.rmi.StubNotFoundException;
import java.util.ArrayList;

public class Phone {
    private ArrayList<Contacts> contacts1 = new ArrayList<Contacts>();

    public void addContact(String name, String numbers) {
        Contacts contacts = new Contacts(name, numbers);
        contacts1.add(contacts);

    }

    public void printContacts() {
        for (int i = 0; i < contacts1.size(); i++) {
            System.out.println(contacts1.); // >>> how to print elements (name and phone number)

        }
    }
}

在这里,我试图打印联系人列表,包括姓名和电话号码,但无法处理如何遍历对象列表。如何在phone类中使用printcontacts()方法打印姓名和电话号码?谢谢

mcdcgff0

mcdcgff01#

你应该做:

System.out.println(contacts1.get(i));

但那只会contacts@somenumber,因此需要向contacts类添加tostring()方法。在contacts类中,添加如下函数:

@Override
public String toString() {
    return name + ": " + number;
}
6za6bjd0

6za6bjd02#

覆盖 toString 方法来返回类对象的字符串表示形式(例如json字符串)。 System.out.println 打印此方法返回的字符串。

public class Contacts {
  private String name;
  private String number;

  ...

  @Override
  public String toString() {
    return "{\"name\": \"" + name + "\", \"number\": \"" + number + "\"}";
  }
}

p、 如果您使用的是JavaIDE,请查看 println 文件中的方法 PrintStream.java 在java源代码中。javaides在您的项目中提供了这种代码导航特性,通过这种特性,您可以实际地浏览java本身的源代码。

相关问题