私たちは、.NETでこれで逃げることができます。Javaが型パラメータに基づいてオーバーロードを許可しないのはなぜですか?</p> <pre><code>interface I<A> {} interface I<A, B> {} </code></pre> <p>を...しかし、Javaで、同じコードはコンパイルエラーになります:
実行時に型情報がなくなっても、型パラメータの数に関する情報がまだそこにあると考えれば、それは面白いです。
この制限がタイプ消去に関連する場合、誰かがその理由を説明できますか?
制限事項は、インターフェイスを複数回定義することができないため、この方法でオーバーロードすることはできません。実行時に、タイプ消去は、 'I'が実際に許可されていない同じタイプか、技術的にはあなたが望むことをしないことを保証します。 –