【发布时间】:2011-06-24 03:30:53
【问题描述】:
我正在使用一些生成以下接口的 Java 代码。此代码不可修改。
interface A1 {
public void run();
}
interface A2 {
public void run();
}
...
interface A24 {
public void run();
}
以下代码出现类转换错误。如何为我的界面动态构建适配器?
interface ARunnable {
public void run();
}
public void someMethod() {
// getARunnables() returns a list of A1, A2, ... A24
List<ARunnable> runnables = (List<ARunnable>)getARunnables();
for (ARunnable a : runnables) {
a.run();
}
}
【问题讨论】:
-
您遇到 ClassCastException 是因为接口和类位于不同的类加载器中,对吧?
-
这些接口A1->An共享有没有共同的接口?类似于:接口 A1 扩展 ARunnable { }