请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于在什么情况下定义成泛型,什么情况下定义成一般类型?

老师,您好!

public class PageReq {
   ...
}

public class PageResp<T> implements Serializable {
   ...
}

为什么 PageReq 定义成一般类型,而 PageResp 定义成泛型,PageResp 定义为一般类型,然后PassengerQueryResp extends PageResp 这样子是有什么缺点吗?

一般在什么情况下定义成泛型,什么情况下定义成一般类型呢?谢谢老师解答!

正在回答

1回答

因为分页请求参数是固定的,就是要查第几页,查几条,都是确定的int类型。而返回的结果列表数据跟每张表有关,是不确定的,所以用泛型

0 回复 有任何疑惑可以回复我~
  • 提问者 慕神4535282 #1
    public class PageResp<T> implements Serializable {
        private Long total;
    
        private List<T> list;
    }
    那可以把属性 private List<T> list; 去掉吗?这样PageResp就可以定义成一般的类了。然后 就可以 PassengerQueryResp extends PageResp { ... }; 同时,service层的返回类型就改成List<PassengerQueryResp>,而不是现在的 PageResp<PassengerQueryResp> ,这样是不是也是可行的?谢谢老师解答!
    回复 有任何疑惑可以回复我~ 2023-04-28 14:09:57
  • 甲蛙 回复 提问者 慕神4535282 #2
    不可行,本来list和total是平级的两个属性,你现在这样设计,total在list里的对象里,也就是返回很多个total,怎么去为total赋值呢
    回复 有任何疑惑可以回复我~ 2023-04-30 10:50:39
  • 提问者 慕神4535282 #3
    非常感谢!
    回复 有任何疑惑可以回复我~ 2023-05-02 16:23:20
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信