假设我在 Groovy 中定义了一个数组,如下所示:
```groovy ```
```groovy ```
def int[] a = [1,9]
我希望将这个数组转换为一个名为a1
的int
变量,使得a1
的值为19(即a
中的数组值),有什么方法可以实现吗?
def int[] a = [1,9]
我希望将这个数组转换为一个名为a1
的int
变量,使得a1
的值为19(即a
中的数组值),有什么方法可以实现吗?
我建议选:
[1, 2, 3, 4].inject(0) { a, h -> a * 10 + h }
1) 不需要def:
int[] a = [0,9]
2) 你说的09
是什么意思?难道不应该是9
吗?你是如何理解这种编码方式的?
如果你只是想把数字连接在一起,那么可以这样做:
[ 1, 2, 3, 4 ] == 1234
int b = a.collect { "$it" }.join( '' ) as int
def sb = new StringBuilder()
[0,9].each{
sb.append(it)
}
assert sb.toString() == "09"
根据您对其他答案的评论,这应该可以帮助您开始:
def a = [ 0, 9, 2 ]
int a1 = a.join('') as int
assert a1 == 92
从其他答案中可以看出,有很多方法可以实现你想要的功能。只需使用最适合你编码风格的方法即可。
a
是一个int[]
,那么你就会这样做。 - tim_yatesint[]
у▒╗тъІуџёa
№╝їт«ЃТў»def a = [ 0, 9, 2 ]
№╝їТЅђС╗Цa
Тў»СИђСИфList
сђѓ - tim_yatesint[]
强制转换为List
,就像这样:(a as List).join('') as int
。无论如何,感谢你的纠正。 - deluanint[] a = [1,9]
Integer number = a.toList().join().toInteger()
// test it
assert number == 19