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

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

3.Java8新特性 - 方法引用

標(biāo)簽:
Java

一.方法的引用

  • 方法引用是用来直接访问类或者实例的已经存在的方法或者构造方法。方法引用提供了一种引用而不执行方法的方式,它需要由兼容的函数式接口构成的目标类型上下文。计算时,方法引用会创建函数式接口的一个实例。

  • 注意方法引用是一个Lambda表达式,其中方法引用的操作符是双冒号"::"

二.四种方法引用类型

方法引用的标准形式是:类名::方法名。(方法名不含括号)

类型示例
引用静态方法ContainingClass::staticMethodName
引用某个对象的实例方法containingObject::instanceMethodName
引用某个类型的任意对象的实例方法ContainingType::methodName
引用构造方法ClassName::new
import java.util.Date;public class User {
    private Date createDate;    public Date getCreateDate() {        return createDate;
    }    public void setCreateDate(Date createDate) {        this.createDate = createDate;
    }    public static int compareByAge(User a, User b){        return a.createDate.compareTo(b.createDate);
    }

}
  • 静态方法引用

public void test() {
        User[] users = new User[5];        //使用lambda表达式
        Arrays.sort(users, (o1, o2) -> o1.getCreateDate().compareTo(o2.getCreateDate()));        //等价于
        Arrays.sort(users, (o1, o2) -> User.compareByAge(o1, o2));        //方法引用
        Arrays.sort(users, User::compareByAge);
    }
  • 引用对象的实例方法

public void test() {
        User [] users = new User[5];        class ComparisonProvider{
            public int compareByAge(User a,User b){                return a.getCreateDate().compareTo(b.getCreateDate());
            }
        }
        ComparisonProvider provider = new ComparisonProvider();        //lambda表达式
        Arrays.sort(users,(a,b)->provider.compareByAge(a,b));        //使用方法引用
        Arrays.sort(users, provider::compareByAge);
    }
  • 引用类型对象的实例方法

public void test() {
        String[] array = {"Hello","lamdba"};        //lambda表达式
        Arrays.sort(array,(s1,s2)->s1.compareToIgnoreCase(s2));        //使用方法引用
        Arrays.sort(array, String::compareToIgnoreCase);
    }
  • 引用构造方法

@FunctionalInterfaceinterface MyFuntion {    User function(Date n);
}public class Main {    public void test() {        //lambda表达式
        MyFuntion myFuntion = (data)-> new User(data);        //使用方法引用
        MyFuntion myFuntion = User::new;
    }
}



作者:Mr_欢先生
链接:https://www.jianshu.com/p/ec4659ed2c1f


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

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

評(píng)論

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

正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

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

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

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

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

幫助反饋 APP下載

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

公眾號(hào)

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

舉報(bào)

0/150
提交
取消