2010-03-17 18 views
25

मैं Google ऐप इंजन के जावा संस्करण का उपयोग कर रहा हूं।मैं कक्षा के सदस्यों पर कैसे पुन: प्रयास करूं?

मैं एक ऐसा फ़ंक्शन बनाना चाहता हूं जो कई प्रकार के ऑब्जेक्ट्स पैरामीटर के रूप में प्राप्त कर सके। मैं ऑब्जेक्ट के सदस्य चर को मुद्रित करना चाहता हूं। प्रत्येक ऑब्जेक्ट अलग हो सकता है और फ़ंक्शन को सभी ऑब्जेक्ट्स के लिए काम करना चाहिए। क्या मुझे प्रतिबिंब का उपयोग करना है? यदि हां, तो मुझे किस प्रकार का कोड लिखने की ज़रूरत है?

public class dataOrganization { 
    private String name; 
    private String contact; 
    private PostalAddress address; 

    public dataOrganization(){} 
} 

public int getObject(Object obj){ 
    // This function prints out the name of every 
    // member of the object, the type and the value 
    // In this example, it would print out "name - String - null", 
    // "contact - String - null" and "address - PostalAddress - null" 
} 

मैं फ़ंक्शन getObject कैसे लिखूं?

उत्तर

69

हां, आपको प्रतिबिंब की आवश्यकता है। यह इस तरह कुछ होगा:

public int getObject(Object obj) { 
    for (Field field : obj.getClass().getDeclaredFields()) { 
     //field.setAccessible(true); // if you want to modify private fields 
     System.out.println(field.getName() 
       + " - " + field.getType() 
       + " - " + field.get(obj)); 
    } 
} 

अधिक के लिए reflection tutorial देखें।

संबंधित मुद्दे

 संबंधित मुद्दे