interface I {
void m(int i);
}
interface J {
void mm(int i, int j);
}
interface K {
void k(String m);
}
class Foo {
void foo(I i){}
void foo(J j){}
void foo(K k){}
void bar() {
foo((p) -> {
System.out.println(p);
});
foo((p, k) -> {
System.out.println(p);
});
foo((String s) ->{
System.out.println(s);
});
foo((String p, String k) -> {
System.out.println(p);
});
}
}
class WithTypeParams {
interface I {
void m(T t);
}
interface J {
void n(K k, V v);
}
class Foo {
void foo(I i){}
void foo(J j){}
void bar() {
foo((p) -> {
System.out.println(p);
});
foo((p, k) -> {
System.out.println(p);
});
foo((String s) ->{
System.out.println(s);
});
foo((String p, String k) -> {
System.out.println(p);
});
foo((int k) -> {System.out.println(k);});
}
}
}