BaseEntity
オブジェクトとそれを修正する方法は?Javaのジェネリックと基本クラス
1
A
答えて
2
事は、T
は必ずしもBaseEntity
である必要はありません。あなたはそのようなクラスBaseDaoImpl
をインスタンス化できます。
class Widget extends BaseEntity {...}
BaseDaoImpl<Widget> base = new BaseDaoImpl<>();
この場合、T
はWidget
あり、そのための方法createOrUpdate(...)
は次のようになります。
public Widget createOrUpdate(Widget t, User user) {
とあなただけBaseEntity
とそれを呼び出すことはできません。
T baseEntity = findBaseEntityById(entityType, entityId);
へ
+0
ところで、おそらく、createErUpdateを変更してBaseEntityを受け入れて返すことができます。 – Jamie
1
変更
BaseEntity baseEntity = findBaseEntityById(entityType, entityId);
私はBaseDao<T>.findBaseEntityById()
はタイプT
を返していることを前提としています。そうでなければ、それはすべきです! :-)
0
"T extends BaseEntity"がBaseEntityをカバーし、 "T"をパラメータとして渡すことができると期待しています。そのような運がない私の友人。ジェネリックの理解を確認してください。
関連する問題
- 1. C#ジェネリック継承基本クラス
- 2. 基本クラスとサブクラスのJava等価メソッド
- 3. クラスと基本クラス
- 4. Java:基本クラス定義
- 5. Javaのジェネリック、ジェネリック拡張と抽象クラス
- 6. Javaクラスのジェネリック
- 7. Kotlin:基本クラスの派生ジェネリック型の値を構築する
- 8. 基本クラスのジェネリック型パラメータを取得する方法は?
- 9. 基本に戻る:メソッドのジェネリックSig
- 10. テンプレートの基本クラスを基本クラスの引数として使用するクラス
- 11. 基本クラスと派生クラスのコンストラクタ
- 12. Javaのジェネリック:別のクラス
- 13. 基本クラス別
- 14. アクティビティ基本クラス?
- 15. は、基本クラス
- 16. 基本クラス
- 17. JAVA:ジェネリック型クラスの継承とジェネリック型の継承
- 18. のJava(アンドロイド) - タイプ、ジェネリック、コンストラクタシグネチャ、クラス
- 19. Pythonのクラス(基本)
- 20. 基本クラスのイベント
- 21. Javaの基本 - クラス構造とコード共有
- 22. Java - 基本マルチスレッド
- 23. 基本ディープコピー、Java
- 24. Javaの基本タイミング
- 25. Javaジェネリック - クラス<Interface>
- 26. Winフォームユーザーコントロールのためのジェネリック基底クラス
- 27. JavaとXmlの基本と学習
- 28. はシングルトンオブジェクトと、基本クラスのオブジェクト
- 29. 基本クラス(Flash)と継承の説明
- 30. 抽象基本クラスのNHibernateとgenericリスト
なぜBaseEntity値を受け入れるのですか? 'createOrUpdate'を' T'を受け入れると宣言しました。 –
具体的な例でクラスを置き換えると理解しやすいことがよくあります。 T =バナナ。 BaseEntity = Fruit。メソッドcreateOrUpdate(Banana)を定義し、これをFruit型の引数で呼び出します。フルーツは必ずしもバナナではありません。したがって、コンパイラはメソッド呼び出しを受け付けません。 –
しかしTはBaseEntityとサブクラスを受け入れると宣言されています。今すぐBaseEntityを受け入れない理由を理解していません。 – alexanoid