Ok, so that is a shorthand for the collect method. But what about to “cast” a Map? I can’t use *. operator on maps?
Jason From: Shil Sinha [mailto:[email protected]] Sent: Tuesday, April 28, 2015 2:45 PM To: [email protected] Subject: Re: Collection/Map Casting For your first example, you could do one of the following: [1,2,3]*.asType(String), which is equivalent to but slower than [1,2,3]*.toString() Generally, collection*.asType(ClassYouWant) will yield the element type changes you want, but you will have to cast the resulting ArrayList to the type of collection you want. On Tue, Apr 28, 2015 at 2:16 PM, Winnebeck, Jason <[email protected]<mailto:[email protected]>> wrote: Is there an elegant way to cast a collection’s types? [1,2,3] as List<String> //doesn’t actually work [1,2,3].collect { it as String } //works but more verbose [a:1, b:2].collectEntries { k,v -> [k, v as String] } //is there a better way? The other issue with collectEntries is that the @CompileStatic doesn’t know the type returned, so you have to actually cast it twice. Jason ________________________________ This email message and any attachments are for the sole use of the intended recipient(s). Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message and any attachments.
