<className> .class与this(表示<classname>)之间的区别

psi*_*dia 2 java hashmap map

class喜欢Test.我正在class作为论点传递.

以下代码有什么区别:

    Map maps = new HashMap();
    maps.put("ARG_ID",Test.class);
Run Code Online (Sandbox Code Playgroud)

     Map maps = new HashMap();
     maps.put("ARG_ID",this); 
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 5

好吧,第一个表单传递对实例的引用Class.第二种形式传递this引用 - 这是一个类的实例 ......它们是两个完全不同的对象.

如果您使用泛型来描述您的键/值类型应该是什么,那么它将使您更加清楚您正在尝试做什么,并且编译器会阻止您尝试添加错误类型的值.