1.Lambda为什么可以实例化一个接口?
2.实例化一个接口,除了常规方式(new一个实现接口的对象,单实力模式、工厂模式),还有什么方式?有没有类似使用内部类的实现方式(类似下面错误代码的
interface Converter{
Integer converter(String from);
}
public class testLambda {
public static void main(String[] args) {
// Converter converter1 =from -> Integer.valueOf(from);
// Integer var =converter1.converter("99");
// System.out.println(var);
//错误代码如下:
Converter converter2 = new InnCl extends Converter{
String a ="99";
converter(a) {
return Integer.valueOf(a);
}
}
}
}
interface Converter{
Integer cntStringtoInt(String from);
}
public class testLambda {
public static void main(String[] args) {
// Converter converter1 =Integer::valueOf;//from -> Integer.valueOf(from);
// Integer var =converter1.converter("99");
// System.out.println(var);
// MyTest mt =String::substring;
// System.out.println(mt.test("Java I love you", 2, 9));
Converter converter2 = new Converter() {
public Integer cntStringtoInt(String from){
return Integer.valueOf(from) ;
}
};
String a ="99";
System.out.println(converter2.cntStringtoInt(a));
}
}
interface MyTest{
String test(String a,int b ,int c);
}