所以我有这个练习要解决。我必须创建第一个。一个名为Printable的接口,它有一个put()
方法可以接受实现 Comparable 的对象。完毕
interface Printable{
<T extends Comparable<T>> void put();
}
接下来我有两个名为Point和Time的类,它们必须实现 Printable 接口。完成
接下来我必须创建一个名为的方法,该方法print()
接受一个扩展Printable并打印整个数组的对象数组,完成
private static <T extends Printable> void print(T[] inArray){
for(T element: inArray){
element.put();
}
}
所以现在为了测试代码,我创建了第一个Point类型的数组并使用代码print(theArray)
,它工作正常。第二件事是创建一个Time数组,DONE也可以正常工作。但 THEN 最后一个问题是创建点和时间的混合数组。这是我的问题,当我创建这样的数组时:
Object[] mixed = {new Point(x,y), new Point(t,s), new Time(i,u)...};
使用代码后,print(mixed);
我得到一个编译错误,我知道为什么......因为 Object 没有扩展 Printable!我在方法中定义的print()
.. 所以我的问题是,如何创建一个可以在这里使用该print()
方法的数组?