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

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

如果您使用泛型来描述您的键/值类型应该是什么,它会让您尝试做的事情更加清晰,并且编译器会阻止您尝试添加错误类型的值。

于 2012-10-12T10:07:31.713 回答
3

Test.classClass表示 的对象Test,它用于反射和泛型。this,当在类中引用时,是您正在处理的类的当前实例。

于 2012-10-12T10:07:21.217 回答