需要使用方法参数中传递的字段名称动态创建对象。
类似..
public void createDisplay(List<String> fields) {
//fetch fields names
//create an object in java using the fields passed
//assign values to the dynamically created fields.
}
或
public void createDisplay(Schema schema) {
//create an object in java using the schema
//assign values to the dynamically created fields.
}
任何人都可以帮忙。
答案 0 :(得分:0)
您的问题有点含糊。如果您确实希望从您的方法中创建完全初始化的对象,那么我建议您执行以下操作:
public void createDisplay(List<String> fields) {
//Iterate over the list do null checking wherever required
//call parameterized constructor of your class and pass values in the loop and keep on adding them
//change the return type of method from void to the object/list of object
//you want and return it from this method
}
答案 1 :(得分:0)
除非您完全确定自己在做什么,否则在运行时确实不值得。相反,将这种精力投入到编译时解决方案中可能更有价值。
那里有一个名为ByteBuddy的库,它具有动态生成类型的能力,但是我不认为在这方面有很多实用程序,因为您想创建一个正确地输入类型。您将面临的最大问题是:
我会 强 建议您改用编译时解决方案。运行时解决方案以其灵活性而吸引人,但是Java变得 in 灵活。