gpt4 book ai didi

groovy - 是否可以在不声明类的情况下创建对象?

转载 作者:行者123 更新时间:2023-12-03 05:42:24 28 4
gpt4 key购买 nike

是否可以在不声明类的情况下创建对象?就像 JavaScript 中一样 obj = {a: '1'}; console.log(obj.a)

最佳答案

在 Groovy 中,您必须始终提供正在创建的对象的类,因此 Groovy 中没有与 JavaScript 的对象文字语法等效的语法。

但是,Groovy 确实有 Map 的文字语法,它在概念上与 JavaScript 对象非常相似,即两者都是属性或名称/值对的集合。

与上述 JavaScript 等效的 Groovy 代码是:

def obj = [a: '1']
println obj.a

即使此处没有使用类名,您仍然会创建特定类的对象 (java.util.LinkedHashMap)。上面的代码只是简写:

def obj = new LinkedHashMap();
obj.a = '1'
println obj.a

Expando class可能更类似于 JavaScript 对象,当您想要避免定义类的“开销”,或者想要一个可以在运行时向其中添加任意属性的动态对象时,它非常有用。

关于groovy - 是否可以在不声明类的情况下创建对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9312805/

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