Java MethodReference Exercise(1) (2024.7.29)

        MethodReferenceExercise1

package MethodReferenceExercise20240729;

public class MethodReferenceExercise1 {
    public static void main(String[] args) {
        // 方法引用是Lambda表达式的孪生兄弟,其思想是:把已经定义好的名字和方法,当做Lambda 表达式来使用。

        /* 在Lambda中所指定的操作方案,已经在有地方存在相同的方案,没有必要再用Lambda表达式再重复地写一次
        相同的逻辑了,所以说引入了方法引用的思想 */

        // 方法引用符  :: 该符号为引用运算符,它所在的表达式被称为方法引用

        // 引用类方法(静态方法)
        // 类名::静态方法

        // 1.匿名内部类
        useConverter(new Converter() {
            @Override
            public int convert(String s) {
                return Integer.parseInt(s);
            }
        });
        // 2.lambda表达式
        useConverter(s -> Integer.parseInt(s));
        // 3.静态方法引用
        useConverter(Integer::parseInt);
    }

    private static void useConverter(Converter c) {
        int number = c.convert("666");
        System.out.println(number + 1);
    }

    /* Converter是一个接口,里面有个convert方法;useConverter是一个方法,需要一个Converter对象,但是想要Converter对象就需要
    重写里面的convert方法,converter方法会将一个字符串转换为int然后返回。用匿名内部类和lambda表达式,可以看见Converter内部的
    逻辑就是使用Integer中的parseInt方法来进行转换并且返回。所以说方法引用可以直接用Integer中的parseInt方法来简化代码
     */
}


  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值