您可以使用Groovy的collectEntries方法将CollectionProperty转换为LinkedHashMap<String, List>。以下是一个示例代码:

import groovy.transform.TypeChecked

@TypeChecked
class Example {
    CollectionProperty<String> collectionProperty
    
    LinkedHashMap<String, List<String>> convertToMap() {
        return collectionProperty.collectEntries {
            [it, it.toList()]
        }
    }
}

def example = new Example(collectionProperty: ['a', 'b', 'c'])
def map = example.convertToMap()
println map

输出结果将是:

[a:[a], b:[b], c:[c]]

在上面的示例中,我们首先定义了一个包含CollectionProperty的Example类。然后我们创建了一个包含字符串元素的collectionProperty实例。

在convertToMap方法中,我们使用collectEntries方法遍历collectionProperty,并将每个元素作为键,将其转换为列表作为值。最后,我们将结果返回为LinkedHashMap<String, List>。

请注意,在类型检查注解@TypeChecked下,Groovy可以推断出collectEntries方法返回LinkedHashMap<String, List>类型。如果您不使用类型检查,您可以省略@TypeChecked注解。

Groovy将CollectionProperty转换为LinkedHashMap<String, List<String>>

原文地址: https://www.cveoy.top/t/topic/qC6d 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录