Groovy中的ArrayLists如何保存不同类型的值?

时间:2014-12-14 07:22:51

标签: java arraylist groovy

a = [1, "Hello", 3.5]

println a.getClass()

产量

class java.util.ArrayList

但是ArrayList只能保留一种价值吗?我的ArrayList怎样才能保存整数,字符串和浮点数?

2 个答案:

答案 0 :(得分:4)

ArrayList可以容纳任何类型的Objectintfloat分别自动退回到java.lang.Integerjava.lang.Float

答案 1 :(得分:4)

  

但是ArrayList只能保存一种类型的值吗?怎么能   我的数组包含一个整数,一个字符串和一个浮点数?

不,绝对不是。在Generics被引入之前ArrayList能够同时保存任何值类型和不同类型。引入仿制药之后可能会有什么好玩的,它仍然是一样的。为什么?因为泛型只是编译时间并且在运行时被删除 - 请参阅Type Erasure。而且因为像JVM语言一样groovy,它的行为就像你的例子一样。