Saravanan created GROOVY-11615:
----------------------------------

             Summary: Groovy has trouble type inferencing for Collections. The 
offender is Collections.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: Compiler, Static compilation
    Affects Versions: 4.0.24
            Reporter: Saravanan


{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)

Reply via email to