欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

如果list中的元素是基本类型或者String类型,那么sout(list)是可以直接打印出元素的,如果是对象类型,就会报错。

程序员文章站 2022-05-19 11:16:07
对于ArrayList, 我们sout(list)时候,调用的是toString()方法,这个方法在jdk的api方法表中没有找到,那么一定是从父类继承过来的了。看到这里恍然大悟,为何对象类型的toString常常看到一大段字符串,原来是这样构成的。对于上述问题的追踪,如何详细打印出list中对象各个属性值的信息。1在实体类中重写toString方法,输出key-value形式的数据public class Test5{ private String name; private S...

对于ArrayList, 我们sout(list)时候,调用的是toString()方法,这个方法在jdk的api方法表中没有找到,那么一定是从父类继承过来的了。
如果list中的元素是基本类型或者String类型,那么sout(list)是可以直接打印出元素的,如果是对象类型,就会报错。
看到这里恍然大悟,为何对象类型的toString常常看到一大段字符串,原来是这样构成的。
对于上述问题的追踪,如何详细打印出list中对象各个属性值的信息。

1在实体类中重写toString方法,输出key-value形式的数据

public class Test5{
    private String name;
    private String sex;
    private int No;
    
    public void Show(){
        System.out.println("这是我的展示方法!!!!");
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
    public int getNo() {
        return No;
    }
    public void setNo(int no) {
        this.No = no;
    }
    @Override
    public String toString() {
        return "Test5 [name=" + name + ", sex=" + sex + ", No=" + No + "]";
    }
    
}

2 用google开源的lombok,加注释@Data,它自动重写toString方法。
附注:数组array打印对象的方法:Arrays.toString(array);

String[] product= {"Bison","Bison","Bison","Bison","Bison","Bison"};
		String[] duty= {"Material","NTF","Process","UOP","NO check in","Under FA"};
		List<User> results=new ArrayList<>();
		
		for(int i=0;i<duty.length;i++) {
			User user=new User();
			user.setName(product[i]);
			user.setPassword(duty[i]);
			results.add(user);
//			System.out.println(product[i]+" "+duty[i]);
//			System.out.println(user.getName()+" "+user.getPassword() );
		}
		System.out.println(results.get(0).getName());
		System.out.println(results.get(1).getPassword());
		System.out.println(Arrays.toString(duty));

本文地址:https://blog.csdn.net/weixin_42400729/article/details/107376237