groovy split exception java.lang.ArrayIndexOutOfBoundsException:1

sfg*_*ups 2 groovy

我有这个代码来分割线来获取键值对,如果值丢失则抛出执行.

为什么要施行?拆分此键值对线的正确方法是什么.

def lline="name="
def (key, value) = lline.split("=")
Run Code Online (Sandbox Code Playgroud)

错误:

Caught: java.lang.ArrayIndexOutOfBoundsException: 1
java.lang.ArrayIndexOutOfBoundsException: 1
Run Code Online (Sandbox Code Playgroud)

谢谢

tim*_*tes 5

那是因为lline.split("=")返回一个1项的数组['name'],你尝试将第一项放入key,第二项放入value

如果您使用的版本split 需要限制:

def (key, value) = lline.split( "=", 2 )
Run Code Online (Sandbox Code Playgroud)

它应该工作