在Groovy里,一切皆对象,没有所谓的原始类型。
Groovy 的基本数据类型有以下几种:
1、数字
2、字符串,正则表达式
3、集合(list,rang, map)
数字(Number)
java.lang.Integer | 123, 0x123 |
java.lang.Float | 123f,123F |
java.lang.Double | 123d,123D |
java.lang.Long | 123L |
java.math.BigInteger | 123g,123G |
java.math.BigDecimal | 12.3, 1E10 |
如下实例:
def i = 123
def l = 123L
def d = 123D
def f = 123F
def bi = 123G
def bd1 = 1.23
def bd2 = 1E3
println "i.${i.class}"
println "l.${l.class}"
println "d.${d.class}"
println "f.${f.class}"
println "bi.${bi.class}"
println "bd1.${bd1.class}"
println "bd2.${bd2.class}"
运行结果
i.class java.lang.Integer
l.class java.lang.Long
d.class java.lang.Double
f.class java.lang.Float
bi.class java.math.BigInteger
bd1.class java.math.BigDecimal
bd2.class java.math.BigDecimal
可以看到,groovy根据数字的最后一个字符猜测它是什么类型。
如果在定义变量的时候就指定类型,那以指定类型对应的类为准。如下代码
float f = 1G
println f.class
打印出为:
class java.lang.Float