mp LambdaQueryWrapper 这个泛型不填,使用Role::getRoleId,提示不能在无法从 static 上下文引用非 static 方法

    @Override
    public String checkRoleNameUnique(Role role) {
        baseMapper.exists(new LambdaQueryWrapper<>().eq(Role::getRoleId,role.getRoleId())); // 这个Role::getRoleId提示不能在无法从 static 上下文引用非 static 方法
        return null;
    }

我知道,我现在明白了,是这样的,你写错了类型,你然后就是引用那个类的方法,然后不是静态方法,就会出现这种提示了,

查看源码这里需要的就是函数接口,所以泛型需要指明

img

img

Role::getRoleId就是Lambda的方法引用

img


baseMapper.exists(new LambdaQueryWrapper<Role>().eq(Role::getRoleId,role.getRoleId())); 

这样就可以啦