Groovy initialization of array of objects
arrays, groovy, initialization, object
Solution
@groovy.transform.Canonical
class Program {
String id = ""
String title = ""
String genre = ""
}
Program[] programs = [
["prog1", "CSI", "Drama"],
["prog2", "NCIS", "Drama"],
["prog3", "Criminal Minds", "Crime drama"]
]
println programs
Please also answer @Igor's question.
Problem
I am looking for the most compact syntax to initialize an array of objects in Groovy. Given: ``` class Program { String id = "" String title = "" String genre = "" } ``` I am currently doing this: ``` Program[] programs = [ new Program([id:"prog1", title:"CSI", genre:"Drama"]), new Program([id:"prog2", title:"NCIS", genre:"Drama"]), new Program([id:"prog3", title:"Criminal Minds", genre:"Crime drama"]), ] as Program[] ``` I seem to recall that in Java there is a more compact syntax, possibly not requiring to use the new keyword. What is the most compact Groovy syntax to accomplish this?