2

私はclass好きです。私は議論としてTest渡しclassています。

以下のコードの違いは何ですか:

    Map maps = new HashMap();
    maps.put("ARG_ID",Test.class);

     Map maps = new HashMap();
     maps.put("ARG_ID",this); 
4

2 に答える 2

5

最初のフォームは、 のインスタンスへの参照を渡しますClass2 番目の形式は、クラスのインスタンスthisである参照を渡します。これらは 2 つのまったく異なるオブジェクトです。

ジェネリックを使用してキー/値の型を記述すると、何をしようとしているのかがより明確になり、コンパイラは間違った種類の値を追加しようとするのを防ぎます。

于 2012-10-12T10:07:31.713 に答える
3

Test.classは をClass表すオブジェクトでTest、リフレクションとジェネリックに使用されます。thisは、クラスで参照されている場合、作業中のクラスの現在のインスタンスです。

于 2012-10-12T10:07:21.217 に答える