有一对象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中返回。这个应该怎么做啊??(我没什么分,别嫌少啊!)
现在我要写一个方法getObjList(List list,int count)list存放的是DynamicObj,count是我需要的属性个数,
如:count=5,我要的就是[f0-f4]这5个属性值。并以Object的形式存放到rtnlist中返回。这个应该怎么做啊??(我没什么分,别嫌少啊!)
所以你的d.getXX()如果是基本类型的话需要用包装类包装后才能添加.其他的就没什么要说的了,方法很简单,楼上写的对LZ的需求理解有问题
list存放的对象obj,obj里面不是存放一个属性值,我要存放[F0-F4]5个属性值,
因为我需要属性的个数是由传入的参数count决定的,所以这个obj这个对象的类没有办法写。
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
方法一:dynamicobj属性干脆用数组算了方法二:用反射机制