System.out.println("========所有的商品清单==========");
System.out.println("商品编号\t"+"商品名称\t"+"商品类型\t"+"商品单价\t"+"库存数量\t");
ProductsDao pr=new ProductsDao();
List<Productss> list=pr.getAllTypes();
for(Productss p : list){
System.out.println(p);
}
代码块能进行操作
p.tostring()
无论重写tostring方法还是点击tostring 也没用
Productss 里面应该有字段的geter 和 setter 方法吧 获取某个字段就调用某个字段的get方法
没用啊。
java里面拿不到堆上对象的实际内存地址的吧。如果有的话也是在unsafe中,而且拿出来也没任何意义,任何一次gc都会导致你堆上对象地址发生变化。
看你的代码应该是拿对象中的各种字段的值显式出来吧,这种你override toString方法,在toString方法实现中输出各个信息的值。要么在最后println的时候从当前对象的实例中拿取字段做拼接输出。
Productss是一个对象吧。你不能直接打印p的,要去调用对象的get方法。比如:p.getName(),这样。
打印出的那个数字不是内存地址,而是对象的 hash code。
Override toString()方法肯定能解决问题。注意方法名中的那个 s 是 大写的。如果还是不能解决问题,把相关的代码贴上来。
Products类里面重写toString方法,shift+alt+s 选择 generate toString()
重写tostring方法,传了参数
toString() 方法是不带参数的。
Productss是个类,他有属性,你打印的是个对象