我正在使用一些生成以下接口的Java代碼。這段代碼是不可修改的。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,因爲接口和類居住在不同的類加載器,對吧? – mschonaker
這些接口中的每一個A1-> An是否有共同的接口?例如: 接口A1擴展ARunnable {} –
埃米爾:不,他們不要 –