public class Server implements Comparable<Server>{}中<Server>是什么意思? public class Server implements Comparable<Server>{}中<Server>是什么意思?public int compareTo(Server s){},又是这种,好难理解啊?这Server是类啊,放在这<>中是指什么?放在()又指什么,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 范型~~Comparable<T> 第 4 页(共9 页) Comparable 接口已经泛型化了,所以实现 Comparable 的对象声明它可以与什么类型进行比较。(通常,这是对象本身的类型,但是有时也可能是父类。)public interface Comparable<T> { public boolean compareTo(T other);} 所以 Comparable 接口包含一个类型参数 T,该参数是一个实现 Comparable 的类可以与之比较的对象的类型。这意味着如果定义一个实现 Comparable 的类,比如 String,就必须不仅声明类支持比较,还要声明它可与什么比较(通常是与它本身比较): public class String implements Comparable<String> { ... }现在来考虑一个二元 max() 方法的实现。您想要接受两个相同类型的参数,二者都是 Comparable,并且相互之间是 Comparable。幸运的是,如果使用泛型方法和有限制类型参数的话,这相当直观: public static <T extends Comparable<T>> T max(T t1, T t2) { if (t1.compareTo(t2) > 0) return t1; else return t2;}在本例中,您定义了一个泛型方法,在类型 T 上泛型化,您约束该类型扩展(实现) Comparable<T>。两个参数都必须是 T 类型,这表示它们是相同类型,支持比较,并且相互可比较。容易! 更好的是,编译器将使用类型推理来确定当调用 max() 时 T 的值表示什么意思。所以根本不用指定 T,下面的调用就能工作:String s = max("moo", "bark");编译器将计算出 T 的预定值是 String,因此它将进行编译和类型检查。但是如果您试图用不实现 Comparable<X> 的 类 X 的参数调用 max(),那么编译器将不允许这样做。 (引自http://www6.software.ibm.com/developerworks/cn/education/java/j-generics/tutorial/j-generics-5-4.html)学要注册 语法错误,仅当源级别为 5.0 时已参数化的类型才可用这是eclipse报的错 Swing 新人求教两个问题 关于三代继承中的this引用问题 关于set和list的contains的问题 一个多线程的问题。 用代码添加的按钮为何显示不出来?而用GUI设计器却可以? 哪位仁兄有有关检索方面的资料? 用JAVA将EXCEL文件解析存入ORACLE数据库 【JAVA打印问题】请高手给点建议,分数不是问题! 编程散分(二) 怎样 编写 随机函数 random with java? 容器会重画??? 如何学习java网络编程比如socket
Comparable 接口已经泛型化了,所以实现 Comparable 的对象声明它可以与什么类型进行比较。(通常,这是对象本身的类型,但是有时也可能是父类。)
public interface Comparable<T> {
public boolean compareTo(T other);
}
所以 Comparable 接口包含一个类型参数 T,该参数是一个实现 Comparable 的类可以与之比较的对象的类型。这意味着如果定义一个实现 Comparable 的类,比如 String,就必须不仅声明类支持比较,还要声明它可与什么比较(通常是与它本身比较):
public class String implements Comparable<String> { ... }
现在来考虑一个二元 max() 方法的实现。您想要接受两个相同类型的参数,二者都是 Comparable,并且相互之间是 Comparable。幸运的是,如果使用泛型方法和有限制类型参数的话,这相当直观:
public static <T extends Comparable<T>> T max(T t1, T t2) {
if (t1.compareTo(t2) > 0)
return t1;
else
return t2;
}
在本例中,您定义了一个泛型方法,在类型 T 上泛型化,您约束该类型扩展(实现) Comparable<T>。两个参数都必须是 T 类型,这表示它们是相同类型,支持比较,并且相互可比较。容易! 更好的是,编译器将使用类型推理来确定当调用 max() 时 T 的值表示什么意思。所以根本不用指定 T,下面的调用就能工作:
String s = max("moo", "bark");
编译器将计算出 T 的预定值是 String,因此它将进行编译和类型检查。但是如果您试图用不实现 Comparable<X> 的 类 X 的参数调用 max(),那么编译器将不允许这样做。 (引自http://www6.software.ibm.com/developerworks/cn/education/java/j-generics/tutorial/j-generics-5-4.html)学要注册