You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Paul King (Jira)" <ji...@apache.org> on 2025/04/13 13:02:00 UTC
[jira] [Updated] (GROOVY-11615) Groovy has trouble type inferencing for Collections. The offender is Collectors.asBlah set of methods. It needs the generic type to be added explicitly
[ https://issues.apache.org/jira/browse/GROOVY-11615?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Paul King updated GROOVY-11615:
-------------------------------
Summary: 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 (was: 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)
> 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)