Groovy-Objekt array-Erstellung Frage
warum dies eine Ausnahme?
messageSource.getMessage('UserService.msg.forgot.unknown', ["[email protected]"], null)
es sei denn, ich mache das...
def Object[] args = ["[email protected]"]
messageSource.getMessage('UserService.msg.forgot.unknown', args, null)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Weil ["[email protected]"] liefert eine ArrayList kein array:
OTOH Ihrer Deklaration erzeugt ein array von Objekten:
und die Methode, die Sie aufrufen muss ein array. Sie können ein array erstellen, mit
as
:Groovy-Macher einen Punkt höher-level-Datenstrukturen, wie Listen, idiomatischer, während arrays vorhanden sind, um die Interoperabilität mit Java.
In seinem interview in Programmierer bei der Arbeit Guy Steele spricht über Entscheidungen im Entwurf einer Sprache:
Es sieht ganz so aus Groovy aus Listen übersichtlicher, mit der Nebenwirkung, dass arrays wurde Ausführlicher.
Nathan hat bereits (korrekt) erklärte den Grund für dieses Verhalten an das Sprachniveau. Ich will nur zu bewegen, eine Abstraktion level up: Warum sind Sie mit Feder
MessageSource
direkt, in den ersten Platz? In Grails gibt es einemessage
- tag, umschließt die Meldung Quelle: