是groovy列表文字ArrayList或链接列表?

时间:2012-05-18 16:36:37

标签: groovy

是groovy的文字列表,例如['foo','bar','baz']由ArrayList(动态数组)或LinkedList支持?在不同情况下使用一个而不是另一个时有performance benefits

相关:有没有办法可以在groovy中找到变量的类型,类似于JavaScript的typeof运算符?

2 个答案:

答案 0 :(得分:5)

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

groovy:000> [].class
===> class java.util.ArrayList

使用instanceof检查其类型,就像在Java中一样:

groovy:000> [] instanceof ArrayList
===> true

告诉您对象是ArrayList还是ArrayList的子类。

或测试其课程:

groovy:000> [].class == ArrayList
===> true

告诉您对象的具体类是否为ArrayList。

答案 1 :(得分:4)

除非指定,否则将其创建为ArrayList。您可以按def myList = [] as LinkedList指定链接列表,也可以直接实例化def myLinkedList = new LinkedList()

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