phoenix850121
2019-01-22 11:16
采纳率: 56.8%
浏览 1.0k
已采纳

有关Java8Lambda表达式实例化接口问题

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);
}
}
}

}

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • phoenix850121 2019-01-31 16:26
    已采纳

    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);
    }

    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题