特殊的方法引用

在java中,使用方法引用时,引用的方法和需要实现的方法参数不一致?!

在我学习mybatis-plus时,多次运用lambda表达式,其中不免使用到方法引用!

  • 其中有种特殊方法引用我就很是不解,就是基础知识不够牢靠导致,我也亡羊补牢立即回去取经,特此记随写一篇!

示例:

 @GetMapping("test")
    public Result<?> test(){
        log.info("test");
        LambdaQueryWrapper<UserEntity> queryWrapper = new LambdaQueryWrapper<>();
        userMapper.selectList(queryWrapper.eq(UserEntity::getId, "1"));
        return Result.success("test");
    }

以上代码用到了UserEntity::getId这个方法引用,但是这个方法引用和eq方法的参数不一致!

img

其实按我之前逻辑这里应该是这样写的

img
其中还有这样也行
img

后来在我往前取经后才知道,还有一个特殊的方法引用,就是只能作用于方法体仅有一个参数时的,这时我们可以使用特殊的方法引用,但是这个引用的方法也有局限性,就是只能是该参数自带的方法!

总结一句话:想用方法引用就得按规矩来,形参和返回值都得备上,不想守规矩就自个带(也就是只能用原本参数内的方法)!

posted @   Cold的窝  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示