Function.identity returns different type?
Timo Kinnunen
timo.kinnunen at gmail.com
Wed Feb 26 02:14:00 PST 2014
Hi,
What’s the deal here, how come the “asIf” version - same as “asIn” except the method “asGiven” inlined away - doesn’t compile?
static <T> T asIn(T t) { return asGiven(Function.identity(), t); }
static <T> T asIf(T t) { return Function.identity().apply(t); }
static <S, T> T asGiven(Function<S, T> given, S s) { return given.apply(s); }
The compile error I get is:
error: incompatible types: Object cannot be converted to T
But there’s no mention Object in the code…
--
Have a nice day,
Timo.
Sent from Windows Mail
More information about the lambda-dev
mailing list