2014-01-16 3 views
2

У меня есть этот код, чтобы разделить строку, чтобы получить пару значений ключа, если значение отсутствует, оно выдает исключение.groovy split exception java.lang.ArrayIndexOutOfBoundsException: 1

Почему его назначение? каков правильный способ разделить эту пару пар значений.

def lline="name=" 
def (key, value) = lline.split("=") 

Ошибка:

Caught: java.lang.ArrayIndexOutOfBoundsException: 1 
java.lang.ArrayIndexOutOfBoundsException: 1 

благодаря

ответ

5

Это потому, что lline.split("=") возвращает массив 1 пункта ['name'], который вы пытаетесь поставить первый элемент в key и второй в value

Если вы используете версию splitthat takes a limit:

def (key, value) = lline.split("=", 2) 

он должен работать

Смежные вопросы