有一对象DynamicObj有20个属性,【f0-f19】,DynamicObj.java中有【f0-f19】的get,set方法。
现在我要写一个方法getObjList(List list,int count)list存放的是DynamicObj,count是我需要的属性个数,
如:count=5,我要的就是[f0-f4]这5个属性值。并以Object的形式存放到rtnlist中返回。这个应该怎么做啊??(我没什么分,别嫌少啊!)

解决方案 »

  1.   

    你list里面存的只是一个属性值啊,我要的是存放了f0-f4这些属性值的对象
      

  2.   

    list.add()方法只能添加OBJECT,
    所以你的d.getXX()如果是基本类型的话需要用包装类包装后才能添加.其他的就没什么要说的了,方法很简单,楼上写的对LZ的需求理解有问题
      

  3.   

    好像你也没有理解对哦~
    list存放的对象obj,obj里面不是存放一个属性值,我要存放[F0-F4]5个属性值,
    因为我需要属性的个数是由传入的参数count决定的,所以这个obj这个对象的类没有办法写。
      

  4.   

    第一种方式:
    String filePath = new File(CreateTest.class.getClassLoade().getResource("").getFile()).getAbsolutePath();
    String[] source = { "-d", path, new String("DynamicObject.java") };
            com.sun.tools.javac.Main.compile(source);
    运行到最后一句的时候报错:无法读取?是什么原因啊??第二种方式:
     String curDir = System.getProperty("user.dir");
     String path = curDir+"\\WEB-INF\\src\\factory\\DynamicObject.java";
             JavaCompiler compiler = (JavaCompiler) ToolProvider.getSystemJavaCompiler();  int results = ((Tool) compiler).run(null, null, null, path); 
    运行到最后抛出java.lang.NullPointerException
    第三种方式:
                       String curDir = System.getProperty("user.dir");
     String path = curDir+"\\WEB-INF\\src\\factory\\DynamicObject.java";
                       JavaCompiler jc = (JavaCompiler) ToolProvider.getSystemJavaCompiler();
    StandardJavaFileManager sjfm = jc.getStandardFileManager(null,null, null);
    File javaFile = new File(path);
    Iterable fileObjects = sjfm.getJavaFileObjects(javaFile);
                     jc.getTask(null, sjfm, null, null, null, fileObjects).call();
            sjfm.close();
    抛出java.lang.NullPointerException
      

  5.   

    有这么麻烦吗?
    方法一:dynamicobj属性干脆用数组算了方法二:用反射机制