[ https://issues.apache.org/jira/browse/GROOVY-11615?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17944981#comment-17944981 ]
Paul King commented on GROOVY-11615: ------------------------------------ Just adding a self-contained runnable example: {code} @Grab('com.google.guava:guava:33.4.8-jre') import com.google.common.collect.ImmutableMap import java.util.stream.Collectors @groovy.transform.CompileStatic def method() { var orig = ImmutableMap.of('123', '1354') assert orig.collectEntries{ k, v -> "$k-$v".with{ [it.size(), it] }} == [8: '123-1354'] assert orig .entrySet() .stream() .map(entry -> entry.key + '-' + entry.value) .collect(Collectors.toMap(String::length, value -> value)) == [8: '123-1354'] } method() {code} > Groovy has trouble type inferencing for Collections. The offender is > Collectors.asBlah set of methods. It needs the generic type <A.Y.X> to be > added explicitly > --------------------------------------------------------------------------------------------------------------------------------------------------------------- > > Key: GROOVY-11615 > URL: https://issues.apache.org/jira/browse/GROOVY-11615 > Project: Groovy > Issue Type: Bug > Components: Static Type Checker > Affects Versions: 4.0.24 > Reporter: Saravanan > Priority: Minor > > {code:java} > public class Interfaces { > public String myThing() { > var myArray = Arrays.asList("123", "1354"); > var mySet = myArray.stream().collect(Collectors.toSet()); > > // This call will fail > // Failed to find class method 'getBytes(java.lang.Object)' or > // instance method 'getBytes()' for the type: java.lang.String > // To make it work change the previous line to > // var mySet = > myArray.stream().collect(Collectors.<String>toSet()); > mySet.forEach(String::getBytes); > } > }{code} > Most Collectors.<methods> need a fully qualified type for the generic > parameter, without which the compile will fail (sometimes detect an Object > type instead of the right one) -- This message was sent by Atlassian Jira (v8.20.10#820010)