【问题标题】:Difference between <className>.class and this(representing the <classname>)<className>.class 和 this 的区别(代表 <classname>)
【发布时间】:2012-10-12 10:05:47
【问题描述】:

我有classTest 一样。我将class 作为参数传递。

下面的代码有什么区别:

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

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

【问题讨论】:

    标签: java map hashmap


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-03-21
        • 2021-11-20
        • 1970-01-01
        • 2020-01-08
        • 2020-08-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多