zhangquandan_233 2020-12-25 11:33 采纳率: 100%
浏览 94
已采纳

java如何循环名称是递增的实体类的

如题,实体类这边创建的参数名称是递增的,我SQL查询以后怎么在for循环中取出,我不想一个一个get

 

  • 写回答

1条回答 默认 最新

  • qq_25376897 2020-12-25 11:54
    关注

    可以利用Java的反射,我写了段代码,你参考下

    import java.lang.reflect.InvocationTargetException;
    import java.lang.reflect.Method;
    
    public class Test {
        private String data_date1;
        private String data_date2;
        private String data_date3;
    
        public String getData_date1() {
            return data_date1;
        }
    
        public void setData_date1(String data_date1) {
            this.data_date1 = data_date1;
        }
    
        public String getData_date2() {
            return data_date2;
        }
    
        public void setData_date2(String data_date2) {
            this.data_date2 = data_date2;
        }
    
        public String getData_date3() {
            return data_date3;
        }
    
        public void setData_date3(String data_date3) {
            this.data_date3 = data_date3;
        }
    
        public static void main(String[] args) {
            Test test = new Test();
            test.setData_date1("abc");
            test.setData_date2("123");
            test.setData_date3("9999");
            Method method = null;
            try {
                for(int i=1;i<=3;i++){
                    method = test.getClass().getMethod("getData_date"+i);
                    String data_date = (String) method.invoke(test);
                    System.out.println(data_date);
                }
            } catch (NoSuchMethodException e) {
                e.printStackTrace();
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            } catch (InvocationTargetException e) {
                e.printStackTrace();
            }
        }
    }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?