मैं सोच रहा था कि क्या कोई जानता है कि प्रतिबिंब का उपयोग करके सरणी ऑब्जेक्ट का आकार कैसे प्राप्त किया जाए?जावा प्रतिबिंब - सरणी ऑब्जेक्ट का आकार प्राप्त करें
मैं एक वाहन प्रकार कार की एक सरणी ऑब्जेक्ट वाला घटक है।
Vehicles.java
public class Vehicles{
private Car[] cars;
// Getter and Setters
}
Car.java
public class Car{
private String type;
private String make;
private String model;
// Getter and Setters
}
मैं सोच रहा था कि कैसे मैं कारों का आकार प्राप्त करने में सक्षम हो जाएगा सरणी वाहनों के भीतर जावा प्रतिबिंब का उपयोग कर घटक?
मैं वर्तमान निम्नलिखित है:
final Field[] fields = vehicles.getClass().getDeclaredFields();
if(fields.length != 0){
for(Field field : fields){
if(field.getType().isArray()){
System.out.println("Array of: " + field.getType());
System.out.println(" Length: " + Array.getLength(field.getType()));
}
}
}
जो निम्न त्रुटि में परिणाम है:
java.lang.IllegalArgumentException: Argument is not an array
at java.lang.reflect.Array.getLength(Native Method)
कोई भी विचार?
ठीक है, तुम भी कह सकते हैं cars.length :-) –
आप सही कर रहे हैं! मूल कोड इतनी सरल चीज के लिए इतना जटिल था कि मैं गड़बड़ हो गया और प्रतिबिंब रखा ... – Guillaume