Cons.W 2023-11-01 17:43 采纳率: 0%
浏览 19

关于LambdaUpdateWrapper方法引用的问题

以下是正常不报错的情况:

LambdaUpdateWrapper<User> wrapper = new LambdaUpdateWrapper<User>()
                .in(User::getId, list);

如果等式右边的泛型省略不写,编译器无法识别User::getId这个方法,会报错,为什么?
就像这样:

LambdaUpdateWrapper<User> wrapper = new LambdaUpdateWrapper<>()
                .in(User::getId, list);

方法引用除了可以通过类名的方式调用以外,还可以通过实例对象调用,比如:

User user = new User();
        
LambdaUpdateWrapper<User> wrapper = new LambdaUpdateWrapper<User>()
                .in(user::getId, list);

但此处也报错,为什么?

  • 写回答

1条回答 默认 最新

  • 叫兽-郭老师 Java领域新星创作者 2023-11-01 17:44
    关注

    你换成这样就不会报错了

    LambdaUpdateWrapper  wrapper = new LambdaUpdateWrapper<User>()
                    .in(user::getId, list);
    
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 11月1日