关于list 使用toString 输出的是地址值的问题

代码

public int getAcStatus(int acId,String acStatus) {
        ArrayList<AcInfoVo> list = new ArrayList<>();
        list = (ArrayList<AcInfoVo>) AcInfoMapper.getAcStatus(acId);

        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }

或者是
    String str =
AcInfoMapper.getAcStatus(acId);
    System.out.println(str);

输出

com.ac.entity.vo.AcInfoVo@fdsfdwy

原因

是因为默认情况下list并没有从写toString方法,所以会继承Object类的toString 也就是输出地址值,

解决办法

1,自己从写 toString 输出需要的值

2,用其他重写了toString的方法

3,用实体类接收查询到的数据,然后进行输出,或者其他操作

    @Override
    public int getAcStatus(int acId, String acStatus) {
        AcVo acVo = AcMapper.getAcStatus(acId);
        String status = acVo.getAcStatus();
//输出获取到的数据
  System.out.println(acVo.getAcStatus());
  //传入的数据和获取到的数据做对比,相同返回 1 不同返回 -1 if (status.equals(acStatus)) { return 1; } else { return -1; } }

  

posted @ 2022-04-29 15:25  Yapi酱  阅读(1199)  评论(0)    收藏  举报