I have three classes. I want to use all classes in one function from another classes. I need to collect all Letter class objects and put the result from getName and getWeight from each object in a HashMap. I need to this with Package and Deliverer as well.
Already tried to use 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);
}
}
}
If I create 3 Deliverer objects for example, I want to get 3 three names, one for each object, and their weights in a HashMap (Delivery.deliverer.put(Deliverer.getName(), value);).
forloops but you are not accessing values from any array or any other type of collection inside them and you talk about having 3 objects of a type but all your code uses static methods and variables. Is the hashmap supposed to be a static instance for each class or a member variable or perhaps a global collection for all object types?