我的程序有一个包含大量字段的类。我需要能够从两个先前存在的实例中创建此类的新实例。它会随机选择从前两个实例中的哪一个中获取哪些字段。
显然我可以做一堆这些:
if(random.nextBoolean())
this.value = a.value;
else:
this.value = b.value;
但是,我一直对 ClassName.class 中的一些方法很感兴趣。我以前尝试过研究这个,但是我从来没有运气。所以让我告诉你我想做什么:
for(int i = 0; i < Specimen.class.getDeclaredFields().length; i++){
if(random.nextBoolean())
this.fields[i] = a.fields[i];
else
this.fields[i] = b.fields[i];
我的理解是反射是不可能的,还有其他方法吗?