1. ホーム
  2. java

[解決済み] なぜJavaのジェネリックの実装は悪いと言われるのか?

2022-07-22 11:17:38

疑問点

ジェネリックスで、Javaはうまくいかなかったと時々聞きますが。(最も近い参照 こちら )

私の経験不足で申し訳ないのですが、何があればもっと良かったのでしょうか?

どのように解決するのですか?

悪いことです。

  • コンパイル時に型の情報が失われるため、実行時にどのような型であるかがわからない。
  • 値型に使用できない(これは大きな問題で、.NETでは List<byte> は本当に byte[] であり、ボックス化は必要ない)
  • ジェネリックメソッドを呼び出すための構文は最悪です (IMO)
  • 制約のためのシンタックスで混乱することがある
  • ワイルドカードは一般に混乱しやすい
  • 上記による様々な制限 - キャスティングなど

良いですね。

  • ワイルドカードにより、共分散/共分散を呼び出し側で指定することができ、多くの状況で非常に便利です。
  • 何もしないよりはましだ!