我正在阅读项目中的一些代码片段,我发现了一些带有此签名的函数。有人可以向我解释返回类型之前的部分是什么吗?
private <T extends SessionRequest> void continueSession(T request, Action action)
答案 0 :(得分:2)
这是一个带约束的通用方法.... 想象一下
private void continueSession(T request){}
然后你的员工可以做类似的事情:
continueSession("Hi");
或
continueSession(1000);
所以你需要能够编译时间来约束作为参数的方法....
现在,如果你这样做
private <T extends Number> void continueSession(T request){}
然后试图打电话
continueSession("Hi");
永远不会编译,因为字符串不是Number
的子类,所以回答你的问题:
private <T extends SessionRequest> void continueSession(T request, Action action)
只允许
的对象