Problem with method references
Tomasz Kowalczewski
tomasz.kowalczewski at gmail.com
Mon Jan 3 02:10:05 PST 2011
Following example does not compile (with JDK 7 b120 and b123):
package org.tkowalcz.lambda.extractor;
public class LambdaInConstructorExample {
public static void main( final String[] args ) {
// Compiles fine
Extractor x = LambdaInConstructorExample#getArgCount;
}
public LambdaInConstructorExample() {
// Error
Extractor x = LambdaInConstructorExample#getArgCount;
}
public int getArgCount() {
return 1;
}
}
interface Extractor {
public int extract( LambdaInConstructorExample lambda );
}
[exec] src\org\tkowalcz\lambda\extractor\LambdaInConstructorExample.java:12:
incompatible types; target method extract in interface Extractor is
not suitable for lambda conversion
[exec] Extractor x = LambdaInConstructorExample#getArgCount;
[exec] ^
[exec] required: Extractor
[exec] found: #int()
[exec] 1 error
[exec] Result: 1
If I comment out the constructor then it compiles fine.
--
Thanks,
Tomasz
More information about the lambda-dev
mailing list