Я довольно новичок в groovy, так что медведь со мной, но у меня есть куча аналогичного кода , который я пытаюсь передать в массив . Это довольно просто. У меня есть объявление массива на сверху, а затем объявление переменных, похожих друг на друга ниже. Я только включил три, но на самом деле у меня около 10. За исключением этого не работает и у меня нет идей почему? Если у кого-то есть какие-то идеи, то это очень ценится.Объявление массивного массива
def properties = resource.adaptTo(ValueMap.class) ?: []
headerText = properties["headerText"] ?: ""
bodyText = properties["bodyText"] ?: ""
footerText = properties["footerText"] ?: ""
Ошибка ниже:
Caused by: groovy.lang.MissingPropertyException: No such property: headerText for class
Это должно включать * что * и * как * все не работает. Вы уверены, что у вас есть объявление массива? Массивы Java индексируются по номерам, а не по строкам. Вы пытаетесь сделать пустую карту, '[:]'? Что такое «ValueMap»? Что такое 'resource.adaptTo'? Включает ли он доступ к свойствам сопоставленных свойств? Существует ли свойство? и т. д. –
Предполагаю, что вам нужна карта ('[:]', как сказал Дейв). Другие языки (PHP, я смотрю на вас) называют «массив» даже «хотя это ассоциативная карта. И «массив» в Java/Groovy больше похож на список. –
Если я понимаю это правильно, тогда мой код будет что-то похожее на: ** def properties = resource.adaptTo (ValueMap.class)?: [:] ** ?? –