gpt4 book ai didi

java - 如何将 LinkedHashMap 元素添加到列表并在 Groovy 中使用 groupBy 方法

转载 作者:行者123 更新时间:2023-12-02 09:06:05 25 4
gpt4 key购买 nike

我想发布我的代码的三个不同版本,其中一个可以工作,但我不能采用这种方法。

版本1:不工作

List<LinkedHashMap> listOfRecords 
LinkedHashMap a = [product: 'p1', cluster: 'c1', salesorg: 's1']
LinkedHashMap b = [product: 'p2', cluster: 'c2', salesorg: 's2']
LinkedHashMap c = [product: 'p2', cluster: 'c3', salesorg: 's2']

listOfRecords.add(a)
listOfRecords.add(b)
listOfRecords.add(c)

println("listOfRecords : "+listOfRecords)
println("listOfRecords groupby : "+listOfRecords.groupBy { it.cluster })

Script failed on line: 6, with error: An error occurred while processing this page.

版本2:工作,但我不想在声明期间将 LinkedHashMap 分配给列表。

LinkedHashMap a = [product: 'p1', cluster: 'c1', salesorg: 's1']
LinkedHashMap b = [product: 'p2', cluster: 'c2', salesorg: 's2']
LinkedHashMap c = [product: 'p2', cluster: 'c3', salesorg: 's2']

List listOfRecords=[a]
//listOfRecords.add(a)
listOfRecords.add(b)
listOfRecords.add(c)

println("listOfRecords : "+listOfRecords)
println("listOfRecords groupby : "+listOfRecords.groupBy { it.cluster })

版本3:不工作。由于它有验证错误,我尝试使用版本1和版本2

//List<LinkedHashMap> listOfRecords 
LinkedHashMap a = [product: 'p1', cluster: 'c1', salesorg: 's1']
LinkedHashMap b = [product: 'p2', cluster: 'c2', salesorg: 's2']
LinkedHashMap c = [product: 'p2', cluster: 'c3', salesorg: 's2']

List listOfRecords;
//List listOfRecords=[a]
listOfRecords.add(a)
listOfRecords.add(b)
listOfRecords.add(c)

println("listOfRecords : "+listOfRecords)
println("listOfRecords groupby : "+listOfRecords.groupBy { it.cluster })

A validation error was received from the Planning server. 'Error:The Groovy script failed to compile with internal error: Compile Error: [Static type checking] - No such property: cluster for class: java.lang.Object @ line 13, column 60. Rule SalesPLN.SALESREP.linkedhashmap'

提前致谢。

最佳答案

运行原始脚本会出现空指针异常,因为您从未初始化listOfRecords(例如,这应该可以修复它:def listOfRecords = [])。该代码尝试添加listOfRecords,这会触发NPE。您的第二个示例确实初始化了您的 var,因此有效。

我不明白为什么你会收到如此无用的错误消息。

关于java - 如何将 LinkedHashMap 元素添加到列表并在 Groovy 中使用 groupBy 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59804623/

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