Java 符合.implements的数组
所以我要解决这个问题。我必须创造第一。一个名为Printable的接口,它有一个Java 符合.implements的数组,java,arrays,generics,interface,Java,Arrays,Generics,Interface,所以我要解决这个问题。我必须创造第一。一个名为Printable的接口,它有一个put()方法,该方法将接受实现可比较的对象完成 interface Printable{ <T extends Comparable<T>> void put(); } private static <T extends Printable> void print(T[] inArray){ for(T element: inArray){
put()
方法,该方法将接受实现可比较的对象完成
interface Printable{
<T extends Comparable<T>> void put();
}
private static <T extends Printable> void print(T[] inArray){
for(T element: inArray){
element.put();
}
}
现在,为了测试代码,我创建了第一个类型点数组,并使用代码print(theArray)
,它工作得很好。第二件事是创建一个时间数组,完成效果很好。但最后一个问题是创建一个混合的点和时间数组。这是我的问题,当我创建这样的数组时:
Object[] mixed = {new Point(x,y), new Point(t,s), new Time(i,u)...};
使用代码打印后(混合)代码>我得到一个编译错误,我知道为什么。。。因为对象不扩展可打印!这是我在print()
方法中定义的。。所以我的问题是,如何创建一个数组,在这里使用print()
方法?可以
Printable[] mixed = {new Point(x,y), new Point(t,s), new Time(i,u)...};
工作
编辑1:
(暗示,我想是的)
编辑2:
(提问者向我保证它是有效的)
编辑3:
(明星队长罗斯科的命令证实了它的工作原理)
编辑4:
(罗慕兰人确认它有效)
编辑5:
(这就是它工作的原因)
编辑6:
(有趣的是,代码看起来有多傻,但却能完成它。)确实如此
Printable[] mixed = {new Point(x,y), new Point(t,s), new Time(i,u)...};
工作
编辑1:
(暗示,我想是的)
编辑2:
(提问者向我保证它是有效的)
编辑3:
(明星队长罗斯科的命令证实了它的工作原理)
编辑4:
(罗慕兰人确认它有效)
编辑5:
(这就是它工作的原因)
编辑6:
(有趣的是,代码看起来有多傻,但它却完成了。)