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)