をJavaのジェネリック型のエラーを解決し、私はJavaでこのような何かを達成したいと考えていますが、コンパイル時のエラーを取得:は抽象クラスメソッドで
The method onMessage(TextMessage, Class) in the type AbstractTestLoader is not applicable for the arguments (TextMessage, Class)
私はそのエラーの理由を理解し、私もそこにあるべき感じます鋳造でこれを達成するための何らかの方法、または他の方法でもよい。
public abstract class AbstractTestLoader<T extends AbstractEntity<T>> {
public void onMessage(TextMessage message) throws Exception {
onMessage(message, this.getClass()); // I want to correct this line in such a way so that I can call below method with actual Class of {T extends AbstractEntity<T>}
}
public void onMessage(TextMessage message, Class<T> clazz) throws Exception {
//here my original logic will go
}
}
なぜあなたは*感じるのですか?おそらく、根本的な問題の理解を追加して、誰もが同じページにいるようにしたいと思うかもしれません。解決策の空間を探索する際の根本的な原因に同意する必要があります。 – GhostCat
こんにちは@GhostCat、私は既にコメント行で私の根底にある問題を探そうとしました '私はこのような方法でこの行を修正して、{T extends AbstractEntity}クラスのメソッドを呼び出すことができます。私が投稿した解決策を参考にして、より良い解決策を提案してください。 –
'AbstractTestLoader'はダイレクトスーパークラスですか? – glee8e