我正在遵循关于使用列表和映射作为构造函数的这篇博客文章。
为什么跟随此列表会失败而无法强制转换为对象?
我收到了这个异常:
为什么跟随此列表会失败而无法强制转换为对象?
class Test {
static class TestObject {
private int a = 1;
protected int b = 2;
public int c = 3;
int d = 4;
String s = "s";
}
static main(args) {
def obj = [1, 2, 3, 4, 's'] as TestObject
}
}
我收到了这个异常:
Caught: org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object '[1, 2, 3, 4, s]' with class 'java.util.ArrayList' to class 'in.ksharma.Test$TestObject' due to: groovy.lang.GroovyRuntimeException: Could not find matching constructor for: in.ksharma.Test$TestObject(java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.String)
org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object '[1, 2, 3, 4, s]' with class 'java.util.ArrayList' to class 'in.ksharma.Test$TestObject' due to: groovy.lang.GroovyRuntimeException: Could not find matching constructor for: in.ksharma.Test$TestObject(java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.String)
at in.ksharma.Test.main(Test.groovy:22)