我有三节课。我想在另一个类的一个函数中使用所有类。我需要收集所有Letter类对象并将每个对象的结果放入getNameHashMapgetWeight中。Package我也需要这样做Deliverer。
已经尝试使用getDeclaredField/getDeclaredClasses.
import java.lang.reflect.Field;
public class Parcel
{
protected static void addWeight()
{
Class<?>[] classes = Letter.class.getDeclaredClasses();
for (int i = 0; i < classes.length; i++) {
System.out.println("hello");
System.out.println("Class = " + classes[i].getName());
}
Field[] allFieldsLetter = Letter.class.getDeclaredFields();
for (int i = 0; i < allFieldsLetter.length; i++) {
double value = Letter.getWeight();
Delivery.weightList.put(Letter.getName(), value);
}
Field[] allFieldsPackage = Package.class.getDeclaredFields();
for (int i = 0; i < allFieldsPackage.length; i++) {
double value = Package.getWeight();
Delivery.weightList.put(Package.getName(), value);
}
Field[] allFieldsDeliverer = Deliverer.class.getDeclaredFields();
for (int i = 0; i < allFieldsDeliverer.length; i++) {
double value = Deliverer.getWeight() * 5;
Delivery.deliverer.put(Deliverer.getName(), value);
}
}
}
例如,如果我创建 3 个Deliverer对象,我想在 HashMap 中获取 3 个三个名称,每个对象一个,以及它们的权重(Delivery.deliverer.put(Deliverer.getName(), value);)。
一只名叫tom的猫
相关分类