public String count(PopulationVo populationVo){ Field[] fields = populationVo.getClass().getDeclaredFields(); if (null == fields) { return "0"; } int count=0; int finishcount=0; String wcl = "0"; for (Field s : fields) { String name = s.getName();//获取属性名 String type = s.getGenericType().toString();//获取属性类型 if (type.equals("class java.lang.String")) { if (!"hourceAddress".equals(name)||!"houseCode".equals(name)){ count++; try { Method m = populationVo.getClass().getMethod("get" + name.substring(0, 1).toUpperCase() + name.substring(1)); String value = (String) m.invoke(populationVo); if (null != value) { // log.info("---属性名---" + name); // log.info("---属性值---" + value); finishcount++; } else { //log.info("---属性名---" + name); } } catch (Exception e) { e.printStackTrace(); } } } /* if (type.equals("class java.lang.Integer")) { try { Method m = populationVo.getClass().getMethod("get" + name.substring(0, 1).toUpperCase() + name.substring(1)); int value = (String) m.invoke(populationVo); if (null != value) { Log.d("---属性名---",name); Log.d("---属性值---",value); } } catch (Exception e) { e.printStackTrace(); } }*/ } if (count != 0) { NumberFormat numberFormat = NumberFormat.getInstance(); // 设置精确到小数点后2位 numberFormat.setMaximumFractionDigits(2); wcl = numberFormat.format((float) finishcount / (float) count * 100); System.out.println(finishcount+"count"+count+"wcl"+wcl); } return wcl; }
统计java类的属性的完成率,像个人资料完成率统计之类
最新推荐文章于 2022-07-13 16:41:25 发布