私はclass
好きです。私は議論としてTest
渡しclass
ています。
以下のコードの違いは何ですか:
Map maps = new HashMap();
maps.put("ARG_ID",Test.class);
と
Map maps = new HashMap();
maps.put("ARG_ID",this);
最初のフォームは、 のインスタンスへの参照を渡しますClass
。2 番目の形式は、クラスのインスタンスthis
である参照を渡します。これらは 2 つのまったく異なるオブジェクトです。
ジェネリックを使用してキー/値の型を記述すると、何をしようとしているのかがより明確になり、コンパイラは間違った種類の値を追加しようとするのを防ぎます。
Test.class
は をClass
表すオブジェクトでTest
、リフレクションとジェネリックに使用されます。this
は、クラスで参照されている場合、作業中のクラスの現在のインスタンスです。