[英]Array of classes implementing an interface to call same method
我有4个类,都实现一个接口IntSorter
。 所有类都有一个sort
方法,因此对于每个类,我想在数组上调用sort
。
我认为这样会起作用:
IntSorter[] classes = new IntSorter[] {
Class1.class, Class2.class, Class3.class, Class4.class
};
for (Class c : classes)
c.sort(array.clone());
但是classes
无法保存.class名称,我收到错误Type mismatch: cannot convert from Class<Class1> to IntSorter
所以我尝试了
Class[] classes = new Class[] {
Class1.class, Class2.class, Class3.class, Class4.class
};
for (Class c : classes)
c.sort(array.clone());
但是现在无法调用c.sort()。 我尝试首先使用(IntSorter) c
将类解析为IntSorter,但是随后出现错误Cannot cast from Class to IntSorter
我该如何解决?
使用第一种方法,但是要for (IntSorter c : classes)
-并且需要将实例放入数组(而不是类)中。 就像是,
IntSorter[] classes = new IntSorter[] {
new Class1(), new Class2(), new Class3(), new Class4()
};
for (IntSorter c : classes) {
c.sort(array.clone());
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.