Java -对象输入法(通过输入变量迭代)?



我想写这个方法,它需要一个对象传递,我想通过变量迭代,存储关于它的信息,并访问值。

我想以这种方式访问它的原因是基于对象构造函数获得不同的输入,并将输出修改为字符串或文件以供其他用途。

如果有人有想法,因为我被难住了,在VVVV下面的for循环中

public static String JsonCompiler(Object inputObject){
String objectOutput="";
Random random = new Random();
int variation = (int) Math.floor(Math.random() * (3 - 1) + 1);
System.out.println(variation);
if(variation == 1){
Field[] fields = inputObject.getClass().getDeclaredFields();
for(Field field: fields) {
System.out.println(field);
//System.out.println(field + " - " + inputObject[field].toString);
// variable 1 = inputObject.get{Employee.id} <<^^ somehow get to understand
}
}
else if (variation == 2){
}
else {
}
return objectOutput;
}

因此,对于Fields,您必须首先确保它们是公共的,您可以通过使用field.canAccess(object)进行检查。如果你想从字段中获得值,你需要从对象中调用字段,例如System.out.println(field.get(object));,这感觉很尴尬,但字段只是类中的变量名,它是保存值的对象。

从那里你可以设置值,以及通过使用field.set(object, newValue)确保类型是相同的,否则它会抛出一个异常给你。

最新更新