V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
chunrong918
V2EX  ›  程序员

如何向面试官解释 jdk1.8 新特性: lamda 表示式呢

  •  1
     
  •   chunrong918 · 2019-04-27 22:36:44 +08:00 · 2872 次点击
    这是一个创建于 1826 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如何解释证明自己懂呢 如题

    15 条回复    2019-04-28 18:24:00 +08:00
    huangdayu
        1
    huangdayu  
       2019-04-27 22:38:41 +08:00 via Android
    手写实例
    chunrong918
        2
    chunrong918  
    OP
       2019-04-27 22:40:29 +08:00
    @huangdayu 电话面试啊
    lhx2008
        3
    lhx2008  
       2019-04-27 22:46:06 +08:00 via Android
    为啥要解释呢,一般都不会问这个

    常用的话就 函数式接口的理解,lambda 的 JVM 调用原理,常用的 stream 的中间操作,结束操作,Optional,lambda 的效率问题,lambda 在设计模式上的实践
    chunrong918
        4
    chunrong918  
    OP
       2019-04-27 22:54:26 +08:00
    @lhx2008 我不懂,大佬能解释一下,面试面到了
    gz911122
        5
    gz911122  
       2019-04-27 22:58:37 +08:00
    lambda 有啥好问的
    就是个匿名内部类罢了
    lhx2008
        6
    lhx2008  
       2019-04-27 23:08:06 +08:00
    @chunrong918
    lambda 至少可以把别人的参数(函数式接口)看懂吧,比如这种
    filter(Predicate<? super T> predicate)
    然后 stream 和 optional 一整套,Java 核心技术里面讲得很全面了
    至于底层的东西,网上也很多分析文章
    至于模式上面的东西,就看平时的经验了
    chunrong918
        7
    chunrong918  
    OP
       2019-04-27 23:16:18 +08:00
    @gz911122 看资料,lamda 不能取代所有的匿名内部类,只能取代函数接口
    Mohanson
        8
    Mohanson  
       2019-04-27 23:20:09 +08:00 via Android
    可是,lambda 我清晰的记得,5 年前我学的 … …
    lhx2008
        9
    lhx2008  
       2019-04-27 23:23:06 +08:00 via Android
    @chunrong918 是的,但是 lambda 的用处不是替换你的匿名内部类,而是有了它你可以很容易的传一个可执行对象给一个函数或者一个对象。那么这个函数可以和已经封装好的数据和逻辑结合,让语言更加自由简洁
    比如最直接的例子就是 stream 这种响应式的编程模式,如果在以前只能用匿名内部类做,非常难看,但是现在有了 lambda 就非常优美了
    ztcaoll222
        10
    ztcaoll222  
       2019-04-28 08:38:38 +08:00
    新特性...
    Jrue0011
        11
    Jrue0011  
       2019-04-28 09:29:04 +08:00
    @lhx2008 和匿名内部类不同的是 lambda 不会多生成一个.class 文件,我现在能用 lambda 的基本上不会写成匿名内部类形式了。。。特别是一些用 JdbcTemplate 的项目,一个 dao 里面多个查询方法每个都写一个匿名内部类,编译完后一堆 xxxDao$1、2、3、4 的文件就难受
    lhx2008
        12
    lhx2008  
       2019-04-28 09:39:13 +08:00
    @Jrue0011 为啥不用数据库框架要用 JDBC
    aaronysj
        13
    aaronysj  
       2019-04-28 10:35:56 +08:00
    这个考查点是啥
    Raymon111111
        14
    Raymon111111  
       2019-04-28 13:14:47 +08:00
    如果某个知识点自己没法想不懂的人解释的很清楚, 说明自己也没有搞懂
    chunrong918
        15
    chunrong918  
    OP
       2019-04-28 18:24:00 +08:00
    @aaronysj 考察动不动 jdk8 新特性 lamda 表达式啊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2728 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 02:26 · PVG 10:26 · LAX 19:26 · JFK 22:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.