public static <T extends Comparable> T getMenor(T[] a) {
if (a.length <= 1 || a == null) {
return null;
}
T menorElemento = a[0];
for (int i=1; i<a.length; i++) {
if (menorElemento.compareTo(a[i]) > 0 ) {//Si menorEle es mayor a a[i], entonces el menor es a[i]
menorElemento = a[i];
}
}
return menorElemento;
}
T
(gen é rico).Lo que no entiendo es esta parte:
T extends Comparable
Ku é Qu é significia??Alguien podr í a explic á rmelo?
<T extends Comparable>
重要信息和汇编定义变量生成和扩展Comparable
。De esta manera,se restringe el uso de los clientes de este m é todo.
没有限制海Comparable
。Es deter,este c ó digo ser í a v á lido:
public class Bar { }
public class Foo implements Comparable<Bar> {
@Override
public int compareTo(Bar b) {
//implementación descabellada, no utilizar
//en código de producción
return 0;
}
}
//...
Foo[] arrayFoo = ...;
Foo menor = getMenor(arrayFoo); //compila y corre sin problemas
有关错误,el gen é rico deber í a estar declarado de esta manera:
<T extends Comparable<? super T>>
Comparable <T>
es ungeneric intece
public static <T extends Comparable> T ...
ahora con T,viene a ser algo como indicando:
接口的实现Comparable
.
compareTo()
使用接口Comparable
es una de las cosas del por qu éextends Comprable
,por lo que en su c ó digo tiene algo as í:
T menorElemento = a[0];
..//
menorElemento.compareTo()
.//
可比较的接口,y para indicarle,que los tipos gen é ricos tiene que implementar dicha intece lo hacemos en la definic:
public static <T>
印度马内亚 · 蒂波斯 · 格内里科斯,秘鲁public static <T extends Comparable>
le decimos que los tiposgen é ricos tienen que implementar la intefazComparable
。
Esos.objetos tienen que implementarla,as í que todos los par á metros,por ejemplo que le pasemosgetMenor(T[] a)
tienen que tenerla implementada,de ah í el uso deextends
porque si le pasamos otro tipo no im
Puedes mirar un ejemplo de laClase String
public final class String
extends Object
implements Serializable, Comparable<String>, CharSequence
b á sicamente es algo como,losT
que quieras usar,(y los que te retornare) tienen que tener implementada la intece que indicas aqu í<T extends Comparable>
.
Lo que quiere decirT
en este context,es que aceptacualquiertipo de objeto que sea o que o que herede dejava.lang.Comparable
(intez).En tu caso,almacena enmenorElemento
la primera pos i p
佩剑 M á s:
Intezjava.lang.Comparable<T>
:ENLACE
Explicaci ó nGen é ricos:ENLACE
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(25条)