java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to *
541 ワード
JavaJDKダイナミックエージェントがエラーを報告しました.
JAvaJDKダイナミックエージェントはJavaオリジナルエージェントモードです.
注意:JDKダイナミックエージェントはエージェントのインタフェースであるため、強制変換は実装クラスではなくインタフェースに変換すべきであり、強制変換実装クラスはClassCastExceptionを投げ出す.例えばArrayListとLinkedListは統合インタフェースListを実現し、両者も互いに変換できないが、いずれもアップコンバートできる.
正しい転換案:
提案を受け入れたり批判したりしてくれてありがとう.
JAvaJDKダイナミックエージェントはJavaオリジナルエージェントモードです.
注意:JDKダイナミックエージェントはエージェントのインタフェースであるため、強制変換は実装クラスではなくインタフェースに変換すべきであり、強制変換実装クラスはClassCastExceptionを投げ出す.例えばArrayListとLinkedListは統合インタフェースListを実現し、両者も互いに変換できないが、いずれもアップコンバートできる.
正しい転換案:
//
ProxyManager manager = new ProxyManager(dao);
//
// DAO o = (DAO) Proxy.newProxyInstance(dao.getClass().getClassLoader(), dao.getClass().getInterfaces(), manager);
提案を受け入れたり批判したりしてくれてありがとう.