函數(shù)式編程
2024-01-05 14:48:26
我有三節(jié)課。我想在另一個類的一個函數(shù)中使用所有類。我需要收集所有Letter類對象并將每個對象的結(jié)果放入getNameHashMapgetWeight中。Package我也需要這樣做Deliverer。已經(jīng)嘗試使用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); } }}例如,如果我創(chuàng)建 3 個Deliverer對象,我想在 HashMap 中獲取 3 個三個名稱,每個對象一個,以及它們的權(quán)重(Delivery.deliverer.put(Deliverer.getName(), value);)。
1 回答

一只名叫tom的貓
TA貢獻(xiàn)1906條經(jīng)驗 獲得超3個贊
這是一個小示例,其中 Delivery 有一個構(gòu)造函數(shù),該構(gòu)造函數(shù)接受名稱和權(quán)重值作為參數(shù)。
List<Delivery> myDeliveryInstances = new ArrayList<Delivery>();
myDeliveryInstances.add(new Delivery("D1", 10));
myDeliveryInstances.add(new Delivery("D2", 25));
myDeliveryInstances.add(new Delivery("D3", 50));
Map<String, Long) deliverer = new HashMap<String, Long>();
for (Delivery delivery : myDeliveryInstances) {
deliverer.put(delivery.getName(), delivery.getWeight());
}
添加回答
舉報
0/150
提交
取消