第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

[解讀] java1.8函數(shù)式編程解讀_第二章lambda表達(dá)式

標(biāo)簽:
Java

这本书的第二章主要的内容是,

1,介绍lambda表达式。Lambda表达式的结构。
2,Lambda表达式是中的变量是不可变的,不是变量。
3,介绍函数式接口
4,参数的类型推断。

可能有些java开发者并不明白为什么java用的好好的为什么要添加lambda这样一种编程方式,该书的作者并没有直接给出答案,你如果使用过lambda这个原因就不言而喻。
对于不了解的事物,首先我们会问他能做什么,首先解读这本书的第二章我们可以回答一下几个问题。

1,什么是lambda表达式?
2,Lambda表达式的作用?
3,Lambda表达式的一些特性?

首先让我们来看一下第一个问题,什么是lambda表达式,Lambda 表达式”(lambda expression)是一个匿名函数,设计的目的是为了方便java程序员将行为(代码)作为参数传递。当然传统java匿名内部类的目的和lambda表达式的设计目的是一样的。只是lambda形式更简洁。
既然你知道了lambda表达式的目的就是为了传递行为,而非传递值。那么传递行为的具体表现又是什么呢?对比面向对象编程,方法的参数可以是基本类型,对象,集合等类型。如果方法的参数是方法。就表示传递行为。作者给了一个例子:

用Swing编写了一个button点击button触发一个事件。使用匿名内部类将行为和按钮单击进行关联。

 
   jButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                System.out.println("这个是一个button");
            }
        });

在这个例子中,我们创建了一个新对象,它实现了ActionLtistener接口。这个接口只有一个方法actionPerformed,当用户点击屏幕上的按钮时,button 就会调用这个方法。匿名内部类实现了该方法。
这实际上是一个代码即数据的例子——我们给按钮传递了一个代表某种行为
的对象。
你会发现每次使用这种匿名内部类,都是固定的模板:

New 接口名称(){
      实现方法{
          业务逻辑
      }
    }

New出来的就是需要传递的对象。这样读代码的时候就比较多。若我们只想传递业务逻辑,而不是对象,就可以使用lambda表达式。

Lambda如下:
jButton.addActionListener(eve -> System.out.println("这个是一个button"));
和传入一个实现某接口的对象不同,我们传入了一段代码块——一个没有名字的函数。event 是参数名,和上面匿名内部类示例中的是同一个参数。-> 将参数和 Lambda 表达式 的主体分开,而主体是用户点击按钮时会运行的一些代码。

和使用匿名内部类的另一处不同在于声明 event 参数的方式。使用匿名内部类时需要显式 地声明参数类型 ActionEvent event,而在 Lambda 表达式中无需指定类型,程序依然可以 编译。这是因为 javac 根据程序的上下文(addActionListener 方法的签名)在后台推断出 了参数 event 的类型。这意味着如果参数类型不言而明,则无需显式指定。稍后会介绍类 型推断的更多细节,现在先来看看编写 Lambda 表达式的各种方式。

Java 8 中对类型推断系统的改善值得一提。上面的例子将 new HashMap<>() 传给 useHashmap 方法,即使编译器拥有足够的信息,也无法在 Java 7 中通过 编译。

原文链接:https://mp.weixin.qq.com/s/FsS8CClkT-8zbyhoSw6C3w
作者:一起写代码

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫(xiě)下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶(hù)
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專(zhuān)欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消