[英]Modifying a method so the arguments can be any type that implements Comparable
我想修改以下方法,以便它的參數可以是實現Comparable
接口的任何類型。 方法的返回類型應與其參數變量的類型相同。
public static int max(int a, int b) {
if (a >b)
return a;
else
return b;
}
所以在修改它時,我可以使用<T extends Comparable<T>>
,但是我如何才能使返回類型相同呢?
你基本上想要這樣的東西:
public static <T extends Comparable<T>> T max(T a, T b) {
int n = a.compareTo(b);
if (n > 0)
return a;
if (n < 0)
return b;
return a;
}
您當然可以將此簡化為以下內容(感謝@pickypg的通知):
public static <T extends Comparable<T>> T max(T a, T b) {
return a.compareTo(b) < 1 ? b : a;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.