如果list中的元素是基本类型或者String类型,那么sout(list)是可以直接打印出元素的,如果是对象类型,就会报错。
程序员文章站
2022-10-18 18:08:40
对于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方法表中没有找到,那么一定是从父类继承过来的了。
看到这里恍然大悟,为何对象类型的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
上一篇: Varnish介绍
下一篇: MySQL的事务和视图