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?
@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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With