【发布时间】:2018-03-22 08:38:53
【问题描述】:
我有一个方法可以很好地找到泛型数组中的最小元素。但是,当我尝试相同的方法但略有不同时,每次运行它都会返回 0。我不知道为什么。
我希望解决此问题的方法与下面的此方法相似。我不想导入 Generic.max 或使用集合,我想以更原始的方式进行,如下所示。
如何使用类似于下面的方法来找到最大值?当我尝试将 0 时,它不起作用。我怎样才能使这个 min 方法成为 max 方法?
public static <E extends Comparable<E> > int getSmallesElement(E[] list) {
int minIndex = 0;
// Iterate from i+1 ti i-1
for (int index = minIndex + 1; index <= list.length - 1; index++) {
minIndex = (list[index].compareTo(list[minIndex]) < 0 )? index : minIndex;
}// end for
return minIndex;
}// end getSmallest method
就像我说的,如果我可以使用像我的第一个方法这样的条件,那就太好了。我是泛型的新手,我试图让这些方法适用于整数、字符串和字符数组。
谢谢。
【问题讨论】:
-
maxIndex = maxIndex;... -
什么是 Generic.max?
-
根据您的代码,只有一个元素的数组的最小/最大索引是什么?还有一个没有任何元素的数组?
标签: java arrays generics conditional-operator