今天我的一位同事向我展示了Groovy中的以下代码行(我已在Groovy Console 2.4.7中检查过它):
String singleString = 'abcde'
String[] strings = singleString
println 'strings length: ' + strings.length
println 'strings class: ' + strings.getClass()
println 'strings[4] entry: ' + strings[4]
println ''
int[] ints = singleString
println 'ints length: ' + ints.length
println 'ints class: ' + ints.getClass()
println 'ints[4] entry ' + ints[4]
结果是:
strings length: 5
strings class: class [Ljava.lang.String;
strings[4] entry: e
ints length: 5
ints class: class [I
ints[4] entry 101
如你所见:
def
关键字),String
分为其中的每个元素,然后将其转换(相应地转换为String
或Integer
)。另一方面代表以下代码:
int singleInt = 12345
int[] intsFromInt = singleInt
println 'intsFromInt length: ' + intsFromInt.length
println 'intsFromInt class: ' + intsFromInt.getClass()
结果是
intsFromInt length: 1
intsFromInt class: class [I
我认为它可以是某种类型的conversion,但我不会在此页面上看到有关转换为数组的任何信息。
所以我很好奇: