千家信息网

java方法引用怎么使用

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇"java方法引用怎么使用"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"java
千家信息网最后更新 2026年10月31日java方法引用怎么使用

这篇"java方法引用怎么使用"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"java方法引用怎么使用"文章吧。

1、说明

方法引用可以看作是Lambda表达式的深层表达。换句话说,方法引用是Lambda表达式,也就是函数接口的例子,通过方法名称指向方法。

2、使用场景

当要传递给 Lambda 体的操作,已经实现的方法了,可以使用方法引用

3、格式

类(或对象) :: 方法名

4、实例

public class MethodRefTest {    // 情况一:对象 :: 实例方法    //Consumer中的void accept(T t)    //PrintStream中的void println(T t)    @Test    public void test1() {        //使用Lambda表达        Consumer con1 = str -> System.out.println(str);        con1.accept("中国");        System.out.println("====================");        //使用方法引用        PrintStream ps = System.out;        Consumer con2 = ps::println;        con2.accept("China");    }    //Supplier中的T get()    //Employee中的String getName()    @Test    public void test2() {        //使用Lambda表达        Employee emp = new Employee(1001, "Bruce", 34, 600);        Supplier sup1 = () -> emp.getName();        System.out.println(sup1.get());        System.out.println("====================");        //使用方法引用        Supplier sup2 = emp::getName;        System.out.println(sup2.get());    }    // 情况二:类 :: 静态方法    //Comparator中的int compare(T t1,T t2)    //Integer中的int compare(T t1,T t2)    @Test    public void test3() {        //使用Lambda表达        Comparator com1 = (t1, t2) -> Integer.compare(t1, t2);        System.out.println(com1.compare(32, 45));        System.out.println("====================");        //使用方法引用        Comparator com2 = Integer::compareTo;        System.out.println(com2.compare(43, 34));    }    //Function中的R apply(T t)    //Math中的Long round(Double d)    @Test    public void test4() {        //使用匿名内部类        Function func = new Function() {            @Override            public Long apply(Double aDouble) {                return Math.round(aDouble);            }        };        System.out.println(func.apply(10.5));        System.out.println("====================");        //使用Lambda表达式        Function func1 = d -> Math.round(d);        System.out.println(func1.apply(12.3));        System.out.println("====================");        //使用方法引用        Function func2 = Math::round;        System.out.println(func2.apply(12.6));    }    // 情况三:类 :: 实例方法    // Comparator中的int comapre(T t1,T t2)    // String中的int t1.compareTo(t2)    @Test    public void test5() {        //使用Lambda表达式        Comparator com1 = (s1, s2) -> s1.compareTo(s2);        System.out.println(com1.compare("abd", "aba"));        System.out.println("====================");        //使用方法引用        Comparator com2 = String::compareTo;        System.out.println(com2.compare("abd", "abc"));    }    //BiPredicate中的boolean test(T t1, T t2);    //String中的boolean t1.equals(t2)    @Test    public void test6() {        //使用Lambda表达式        BiPredicate pre1 = (s1, s2) -> s1.equals(s2);        System.out.println(pre1.test("abc", "abc"));        System.out.println("====================");        //使用方法引用        BiPredicate pre2 = String::equals;        System.out.println(pre2.test("abc", "abd"));    }    // Function中的R apply(T t)    // Employee中的String getName();    @Test    public void test7() {        //使用Lambda表达式        Employee employee = new Employee(1001, "Tom", 45, 10000);        Function func1 =e->e.getName();        System.out.println(func1.apply(employee));        System.out.println("====================");        //使用方法引用        Functionfunc2 = Employee::getName;        System.out.println(func2.apply(employee));    }}

以上就是关于"java方法引用怎么使用"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。

方法 使用方法 表达式 内容 实例 情况 对象 文章 知识 篇文章 也就是 价值 例子 函数 名称 场景 大部分 就是 指向 换句话说 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 重生之互联网科技帝国 互联网 科技公司 互联网科技上市公司 碳银互联网科技有限公司 长亮科技互联网金融 济南华为互联网科技产业总部基地 昭通互联网科技选哪家 未来五年的互联网科技 青海科技产业互联网发展 深圳艾果互联网通讯科技 科技互联网的核心竞争力 江苏互联网智能科技软件 富国互联网金融科技混合基金 唯美互联网科技 互联网科技收购价值 西安左小互联网科技有限公司 悟空问答互联网科技 10位科技互联网大佬 科技互联网企业在行动 高科技和互联网的现代国家 金诺互联网科技 互联网科技与金融科技 北京禾田雨橡互联网科技 兼蜜互联网科技 互联网科技公司的市场部门 青岛中康互联网医疗科技有限公司 中化能源互联网科技招聘 来此购互联网科技有限公司 华夏恒生科技与互联网科技 卓翼科技产业互联网合作
0