interface I { void m(int i); } class Foo { I ii = (@Override final int k) -> { int j = k; }; I ii1 = (final int k) -> { String s = k; }; void bazz() { bar((String s) -> { System.out.println(s);}); bar((int i) -> {System.out.println(i);}); } void bar(I i) { } } class ReturnTypeCompatibility { interface I1 { L m(L x); } static void call(I1 i2) { i2.m(null); } public static void main(String[] args) { call((String i)->{ return i;}); call(i->{ return i;}); call(i->""); call((int i)->{ return i;}); } }
void call(I1
i2) { i2.m(null); } public static void main(String[] args) { call((String i)->{ return i;}); call(i->{ return i;}); call(i->""); call((int i)->{ return i;}); } }