groovy-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Shil Sinha <shil.si...@gmail.com>
Subject Re: Collection/Map Casting
Date Tue, 28 Apr 2015 18:44:32 GMT
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 <
Jason.Winnebeck@windstream.com> 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.
>

Mime
View raw message