में newInstance पर इस सूची से आह्वान करने के लिए मैं ग्रूवी सीख रहा हूँ और मैं सभी क्षेत्रों के लिए डिफ़ॉल्ट मान के साथ गतिशील मेरी कक्षा प्रारंभ करने में कोशिश कर रहा हूँ लगता है नहीं कर सका।जो विधि <init>() ग्रूवी बंद
Exception in thread "main" org.codehaus.groovy.runtime.metaclass.MethodSelectionException: Could not find which method <init>() to invoke from this list:
public java.lang.Boolean#<init>(boolean)
public java.lang.Boolean#<init>(java.lang.String)
at groovy.lang.MetaClassImpl.chooseMethodInternal(MetaClassImpl.java:3160)
at groovy.lang.MetaClassImpl.chooseMethod(MetaClassImpl.java:3097)
at groovy.lang.MetaClassImpl.invokeConstructor(MetaClassImpl.java:1707)
at groovy.lang.MetaClassImpl.invokeConstructor(MetaClassImpl.java:1526)
नीचे है: तो मैं कैसे आगे बढ़ने से कर रहा हूँ, मैं सभी गुण की सूची ले रहे हैं और उस वस्तु के प्रकार हो रही है और प्रकार का ऑब्जेक्ट बनाने रहा हूँ, लेकिन मैं त्रुटि हो रही है जब newInstance
क्रियान्वित कोड
public static void init() {
Position position1 = new Position();
JXPathContext context = JXPathContext.newContext(position1)
context.createPathAndSetValue('id', '2')
position1.properties.each { Map.Entry entry ->
String propertyName = entry.key;
if (!propertyName.equalsIgnoreCase('class')) {
Class clazz = position1.class.getDeclaredField(propertyName)?.type
println "$clazz"
Object ob = clazz.newInstance()
}
}
Identifier sourceSystemPositionId = new Identifier()
context.setValue('sourceSystemPositionId/content', 'default-content')
context.setValue('sourceSystemPositionId/domain', 'default-domain')
println "$position1"
}
आप कोशिश कर रहे हैं के साथ मूल्य को प्रारंभ एक नया 'java.lang.Boolean' वस्तु बनाने के लिए है, लेकिन वर्ग' java.lang.Boolean' एक निर्माता है कि कोई तर्क लेता नहीं है। – Jesper