package Chapter10;
public interface Comparable<T> {
public int compareTo(T other);
}
package Chapter10;
public class CalendarDate implements Comparable<CalendarDate> {
private int month;
private int day;
public CalendarDate(int month, int day) {
this.month = month;
this.day = day;
}
public int compareTo(CalendarDate other) {
if (month != other.month) {
return month - other.month;
}
else {
return day - other.day;
}
}
public String toString() {
return month + "/" + day;
}
}
package Chapter10;
import java.util.*;
public class CalendarDateTest {
public static void main (String[] args) {
ArrayList<CalendarDate> birthday = new ArrayList<CalendarDate>();
birthday.add(new CalendarDate(1, 23));
birthday.add(new CalendarDate(5, 18));
birthday.add(new CalendarDate(12, 17));
birthday.add(new CalendarDate(2, 29));
birthday.add(new CalendarDate(8, 6));
System.out.println("birthdays = " + birthday);
Collections.sort(birthday);
System.out.println("birthdays = " + birthday);
}
}
问题是您重新定义了Java已经定义的carable
接口。就Java而言,这是两个完全不同、互不相关的接口,尽管名称相同。collections.sort
方法知道java.lang.carable
,但它不知道chapter10.carable
。
从项目中删除comparable.java文件,重新编译并运行;这应该能解决问题。
在IdeOne上运行演示。
问题出在行collections.sort(acoesProcessar);我得到的信息是: 绑定不匹配:类型集合的泛型方法不适用于参数()。推断的类型不是有界参数
问题内容: 我收到以下错误: 我正在尝试登录并返回一个HomePage(如果成功),以及一个LoginPage(如果不使用泛型)。 我有一个基类,Page,由SecuredPage扩展,用于登录墙后面的页面。我写了一个通用的辅助方法,可以构造任何类型的页面。LoginPage上的登录方法使用此方法。LoginPage扩展Page,而HomePage扩展SecuredPage。SecuredPage
应该如何声明“GenericBo Bo”实例?正确的代码是什么?
问题内容: 我正在创建一个词解析类,并在运行此命令时始终收到“ < main .Word_Parser实例位于0x1037dd3b0>的绑定方法Word_Parser.sort_word_list ”的错误: 问题答案: 这里没有错误。您正在打印一个函数,这就是函数的外观。 要实际 调用 该函数,必须在其后放置括号。您已经在上面完成了。如果要打印调用函数的结果,只需让函数返回值,然后将打印内容放在
问题内容: 我试图根据类A的int排序类B中名为BinOrder的类型A的列表。 但是我收到此错误行Collections.sort(BinOrder); A类: B级: 问题答案: 为了能够使用单参数版本上的,应该实现的接口:
下面是一个通用搜索算法的实现: 接口: (方括号=弧形括号) 问题出在哪里?我想不通...对泛型参数T也进行了扩展。