18

ジェネリックではなく、Javaで非ジェネリックコレクションを使用する方がよい状況はありますか(または、下位互換性のためにのみ存在します)?

4

1 に答える 1

15

絶対違う。宣言時に型を推測できない場合は?、型指定子として a を使用します。これが目的です。( using によって?、 などの特定のメソッドの呼び出しが制限される場合がありますList.add()。そのような場合、より制限的な型指定子を見つけることができます。Object通常は機能します)。

非一般的な使用法は、技術的には使用しなくても問題ないため、引き続きサポートされています。より多くのキャスト命令を書くことになり、より高いリスクにさらされることになりますがClassCastException、仕様に関する限り、それは技術的に正当です。

全体として、ジェネリックを使用しないことが「使用するよりも優れている」というケースはありません (私が考えることができます)。最悪の場合 (?またはObject宣言時に使用する必要がある場合)、両方のアプローチは同等です。

于 2012-12-05T00:26:16.857 に答える