在Groovy中从String到数组的默认(隐式)转换(通过拆分)

时间:2016-10-19 22:23:13

标签: arrays string groovy

今天我的一位同事向我展示了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分为其中的每个元素,然后将其转换(相应地转换为StringInteger)。

另一方面代表以下代码:

int singleInt = 12345
int[] intsFromInt = singleInt
println 'intsFromInt length: ' + intsFromInt.length
println 'intsFromInt class: ' + intsFromInt.getClass()

结果是

intsFromInt length: 1
intsFromInt class: class [I

我认为它可以是某种类型的conversion,但我不会在此页面上看到有关转换为数组的任何信息。

所以我很好奇:

  • 我可以在哪里找到有关此机制的更多信息(将字符串拆分为数组)?
  • 如何调用此机制?

0 个答案:

没有答案