www359956085 2018-06-11 07:41 采纳率: 50%
浏览 6700
已采纳

org.springframework.data.domain包中 PageRequest源码的疑惑

先贴上部分源码

/** @deprecated */
    @Deprecated
    public PageRequest(int page, int size) {
        this(page, size, Sort.unsorted());
    }

    /** @deprecated */
    @Deprecated
    public PageRequest(int page, int size, Direction direction, String... properties) {
        this(page, size, Sort.by(direction, properties));
    }

    /** @deprecated */
    @Deprecated
    public PageRequest(int page, int size, Sort sort) {
        super(page, size);
        this.sort = sort;
    }

    public static PageRequest of(int page, int size) {
        return of(page, size, Sort.unsorted());
    }

    public static PageRequest of(int page, int size, Sort sort) {
        return new PageRequest(page, size, sort);
    }

    public static PageRequest of(int page, int size, Direction direction, String... properties) {
        return of(page, size, Sort.by(direction, properties));
    }

作者将构造方法标记为废弃,希望我们通过该类中的静态方法of(...)去创建实例。
这样做的目的或者好处是什么

  • 写回答

2条回答 默认 最新

  • u013051531 2018-06-12 05:48
    关注

    利用构造方法,调用处写死了必须使用new来创建新的对象,对象的控制权在调用处,而调用of方法则把生成对象的控制权保留在了PageRequest类中,后期如果需要扩展则在PageRequest类中进行扩展即可

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?