gpt4 book ai didi

groovy - 为什么这个 Groovy 代码试图强制转换?

转载 作者:行者123 更新时间:2023-12-03 22:49:34 25 4
gpt4 key购买 nike

我在“handDetailList.each”行中抛出了一个强制转换异常。我不明白为什么我的代码试图将列表转换为“Hand”类?在我看来,有时 Groovy 会在强制转换方面做一些奇怪的事情......?

private Hand buildHands(List handDetailList) {

def parsedHand = new Hand()

parsedHand.setTableName(handDetailList.get(1))


handDetailList.each {

}
}

我得到以下异常(我编辑了异常,第 70 行是“handDetailList.each {”):
Exception in thread "main" org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object <details of the list, omitted> with class 'java.util.ArrayList' to class 'gameMechanics.Hand' due to: groovy.lang.GroovyRuntimeException: Could not find matching constructor for: gameMechanics.Hand(java.lang.String,........


at org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.castToType(DefaultTypeTransformation.java:358)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.castToType(ScriptBytecodeAdapter.java:599)
at advisor.HistoryParser.buildHands(HistoryParser.groovy:70)
at advisor.HistoryParser.this$2$buildHands(HistoryParser.groovy)
at advisor.HistoryParser$this$2$buildHands.callCurrent(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:49)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
at advisor.HistoryParser.parse(HistoryParser.groovy:57)
at advisor.HistoryParser$parse.call(Unknown Source)

最佳答案

each返回 each 的列表被召唤。

您说过该函数返回类型为 Hand 的对象。 ,并且由于 Groovy 自动返回方法中的最后一条语句,它试图将列表转换为 Hand 的实例。和失败...

你想返回什么? parsedHand多变的?

也许尝试:

private Hand buildHands(List handDetailList) {
def parsedHand = new Hand()
parsedHand.setTableName(handDetailList.get(1))
handDetailList.each {
}
parsedHand
}

如果是这样的话。

关于groovy - 为什么这个 Groovy 代码试图强制转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18714431/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com