groovy列表文字是ArrayList还是LinkedList?

groovy列表文字是ArrayList还是LinkedList?,groovy,Groovy,groovy的文本列表,例如['foo'、'bar'、'baz']是否由ArrayList(动态数组)或LinkedList支持?在不同的情况下使用其中一种方法而不是另一种方法时,会出现一些问题 相关:是否有一种方法可以在groovy中运行时找到变量的类型,类似于JavaScript的typeof操作符?,除非指定它将其创建为ArrayList。您可以通过将def myList=[]指定为LinkedList或直接实例化def myLinkedList=new LinkedList() myLi

groovy的文本列表,例如
['foo'、'bar'、'baz']
是否由ArrayList(动态数组)或LinkedList支持?在不同的情况下使用其中一种方法而不是另一种方法时,会出现一些问题


相关:是否有一种方法可以在groovy中运行时找到变量的类型,类似于JavaScript的
typeof
操作符?

,除非指定它将其创建为ArrayList。您可以通过将
def myList=[]指定为LinkedList
或直接实例化
def myLinkedList=new LinkedList()


myList.getClass().name
将告诉您类型。

查看对象上的类,看看它是什么:

groovy:000> [].class
===> class java.util.ArrayList
使用
instanceof
检查其类型,就像在Java中一样:

groovy:000> [] instanceof ArrayList
===> true
它告诉您对象是ArrayList还是ArrayList的子类

或测试其级别:

groovy:000> [].class == ArrayList
===> true
它告诉您对象的具体类是否为ArrayList