java newinstance 包_java – 无法在groovy闭包中的newInstance中找到从此列表中调用的方法()...

我正在学习groovy,我正在尝试使用所有字段的默认值动态初始化我的类.所以我正在进行的是,我正在获取所有属性的列表并获取该对象的类型并创建该类型的对象,但是在执行newInstance时遇到错误:

Exception in thread "main" org.codehaus.groovy.runtime.metaclass.MethodSelectionException: Could not find which method () to invoke from this list:

public java.lang.Boolean#(boolean)

public java.lang.Boolean#(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)

下面是代码

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"

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值