如何使用泛型使方法变得灵活

在 Java 中,泛型能使得代码更加灵活多变。

如传参,我们往往对于一个实体类中的参数提取,来作为参数,但如果想通过传递不同参数获取不同结果往往会因为类型而添加参数,或是改用参数,这时候泛型就发挥了强势的作用。如下:

public static <T> T getUsers(Function<SysUser, T> mapper) {
    try {
        return mapper.apply(getLoginUser().getUser());
    } catch (Exception e) {
        throw new CustomException("获取用户账户异常", HttpStatus.UNAUTHORIZED);
    }
}

这时候,我们仅仅需要这样写,就可以传递不同参数:

SecurityUtils.getUsers(SysUser::getUserId);

你可能感兴趣的:(Java,java,泛型)