项目需求是  给以个字符串可能是这个对象的字段名   要用这个字符串去获取对象中字段的值    如果这个字符串不能和对象的属性名相对应就会报错  跪求高手有没有更好的解决方法   

解决方案 »

  1.   

    你说的字段是数据库的表字段么,如果是数据库可以用orm映射
    也可以通过sql语句去查询这个字段,判断是否存在
      

  2.   

                            Student student=new Student();
    //student字段  id  name
    student.setId(1);
    student.setName("xvxing");
    List list=new ArrayList();
    list.add("id");
    list.add("name");
    Class type=Student.class;
    Field namef=type.getDeclaredField("name");
    namef.setAccessible(true);
    System.out.println(namef.get(student));
    代码是这样的  如果我把name换成其他的比如说换成name1就会报错 有什么可以用作判断的方法吗
      

  3.   

    用try catch 判断 并处理
      

  4.   

    没人知道吗   因为是在页面  所以用try catch  有点不太好吧
      

  5.   

    type.getDeclaredFields()得到类中所有属性数组然后循环for (Field field : type.getDeclaredFields()) {
        if (field.getName().equals("name")) {
            // 某些处理        break;
        }
    }
      

  6.   

    class.getDeclaredField(String name)
      

  7.   

    new ArrayList<CommerceEntity>(10)
      

  8.   


    try {
    Field namef=type.getDeclaredField("name");
    namef.setAccessible(true);
    } catch (Exception) {
    //没找到叫name的字段 
    }