java - 在“普通”类中声明通用方法及其返回
问题描述
我需要一个包含具有两个泛型参数的方法的非泛型类。在这种方法中,我的目标是比较两个通用参数并返回更大的值。我该怎么做?
public class generic <T extends Comparable<T>>{
public T Max( T pv, T sv){
if(pv.compareTo(sv)>=0){
return pv;
}else {
return sv;
}
}
public static void main(String[]args){
generic g = new generic();
System.out.println(g.Max( 2, 7));
}
}
解决方案
只需将其移至方法声明
public class Generic {
public <T extends Comparable<T>> T max( T pv, T sv){
if (pv.compareTo(sv) >= 0) {
return pv;
} else {
return sv;
}
}
public static void main(String[]args){
Generic g = new Generic();
System.out.println(g.max(2, 7));
}
}
该方法也可以是静态的,因为它不依赖于任何状态。这将使调用它更容易
System.out.println(max(2, 7));
推荐阅读
- python - 如何在执行 pytest 测试用例时在命令提示符下使用通配符
- wordpress - 不带斜杠的 URL 需要重定向到带斜杠的 URL
- reactjs - react-testing-library,检查是否调用了组件方法
- google-maps - 如何限制某人可以在我的地图上平移多远
- ios - 如何获得interactivePopGestureRecognizer和箭头弹出之间的区别
- angular - 从 Angular 6 向 ASP API 发布请求
- react-native - 在 Expo 中更改包管理器
- excel - 分配名称而不重复
- ruby - 如何在不明确定义的情况下为变量分配 ruby 中最大的 32 位有符号值
- ios - XR 状态栏文本保持黑色,但不是 iPhone 8 或 iPad