public abstract class BaseDaoImpl<E extends AbstractEntity> implements BaseDao<E> {
.....
public BaseDaoImpl() throws DataAccessException {
logger = LoggerFactory.getLogger(E); <<-- error here.
}
上記のコードでは、の呼び出しでエラーが発生しますgetLogger(E)
。
Eを変数に解決できません
これは理にかなっていますが、getLogger(E.class)
(またはその変形)も機能しません。
コンストラクターでリテラルクラスを渡したくないので、コンストラクターヘッダーを:に変更するようなソリューション
public BaseDaoImpl(Class<E> clazz) ...
はオプションではありません。
からクラスタイプを取得するにはどうすればよいE
ですか?
次の答えに注意してください:ジェネリック型のパラメータがない場合にそのクラスを取得するにはどうすればよいですか?
助けないでください。