我们如何在原始类型上使用.class?

阿妮克特(Aniket Thakur)

当我们说

Class c = Integer.class;
System.out.println(c);

它打印

class java.lang.Integer

这是有道理的,因为java.lang.Integer是一堂课。这样我们就可以有一个对应的Class对象。

但是当我这样做

Class c1 = int.class;
System.out.println(c1);

它打印出的int内容有点模糊,因为它.class返回一个类型的对象,Classint不是一个类(而是原始类型)。

当不存在此类(primitiveType.class.getName()时,允许对原始类型进行.class操作的动机是什么

另外,如果您看到toString()的类方法Class

public String toString() {
    return (isInterface() ? "interface " : (isPrimitive() ? "" : "class "))
        + getName();
}

由于基本类型不是类或接口,因此仅打印名称(intfor int)。那么,为什么要允许创建Class不存在的类的对象呢?

亚述

它记录在javadoc中

原始Java类型(布尔,字节,字符,short,int,long,float和double)以及关键字void也都表示为Class对象。

当您要调用通过反射期望原始参数的方法时,它特别有用。

想象一个方法:

class MyClass {
    void m(int i) {}
}

您可以通过以下方式访问它:

MyClass.class.getDeclaredMethod("m", int.class);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我们如何在原始类型上使用.class?

来自分类Dev

我们如何使用Class.forName获取原始字节类?

来自分类Dev

我如何从原始类型获取Class对象?

来自分类Dev

我们如何在 kotlin 中访问 java 中的 .class 文件?

来自分类Dev

为什么我们不能通过class-member-access表达式使用嵌套类型?

来自分类Dev

Java-当我们在自己的类中创建类型为class的数据类型时会发生什么?

来自分类Dev

我们如何使用 Sequelize 执行以下原始查询?

来自分类Dev

为什么我们使用Session session = EntityManager.unwrap(Session.class)?

来自分类Dev

我们可以使用PowerMock创建java.lang.Class的模拟实例吗?

来自分类Dev

我们可以创建名称为“ class”的类吗?

来自分类Dev

我们为什么要写Synchronized(ClassName.class)

来自分类Dev

如何在 View 上使用 Youtube Class

来自分类Dev

我们如何在anaconda上安装opencv?

来自分类Dev

我们如何在JDateChooser上禁用编辑选项?

来自分类Dev

我们如何在anaconda上安装opencv?

来自分类Dev

我们如何在红宝石上使用rethinkdb和nobrainer对OR进行过滤?

来自分类Dev

我们如何在使用BackPlane的Signalr上发送通知以认证用户?

来自分类Dev

我们如何在Oracle中的where语句上使用布尔值?

来自分类Dev

我们如何在此类数据上使用机器学习算法?

来自分类Dev

我们如何使用模板参数类型的变量?

来自分类Dev

我们如何使用模板参数类型的变量?

来自分类Dev

我们可以对<Textended SomeClass>使用原始类型吗?

来自分类Dev

我如何在流明5.2上使用Illuminate \ Session \ Middleware \ StartSession :: class

来自分类Dev

我们如何在结构上初始化List类型属性?在vb.net中

来自分类Dev

我们如何在phantomjs中使用EvaluationAsync

来自分类Dev

我们如何在Cakephp中使用SoapClient?

来自分类Dev

我们如何在TreeMap中使用异构密钥

来自分类Dev

我们如何在iOS中使用LTBouncytextfield库?

来自分类Dev

我们如何在onChange / onReceive中使用ObservableObject?

Related 相关文章

  1. 1

    我们如何在原始类型上使用.class?

  2. 2

    我们如何使用Class.forName获取原始字节类?

  3. 3

    我如何从原始类型获取Class对象?

  4. 4

    我们如何在 kotlin 中访问 java 中的 .class 文件?

  5. 5

    为什么我们不能通过class-member-access表达式使用嵌套类型?

  6. 6

    Java-当我们在自己的类中创建类型为class的数据类型时会发生什么?

  7. 7

    我们如何使用 Sequelize 执行以下原始查询?

  8. 8

    为什么我们使用Session session = EntityManager.unwrap(Session.class)?

  9. 9

    我们可以使用PowerMock创建java.lang.Class的模拟实例吗?

  10. 10

    我们可以创建名称为“ class”的类吗?

  11. 11

    我们为什么要写Synchronized(ClassName.class)

  12. 12

    如何在 View 上使用 Youtube Class

  13. 13

    我们如何在anaconda上安装opencv?

  14. 14

    我们如何在JDateChooser上禁用编辑选项?

  15. 15

    我们如何在anaconda上安装opencv?

  16. 16

    我们如何在红宝石上使用rethinkdb和nobrainer对OR进行过滤?

  17. 17

    我们如何在使用BackPlane的Signalr上发送通知以认证用户?

  18. 18

    我们如何在Oracle中的where语句上使用布尔值?

  19. 19

    我们如何在此类数据上使用机器学习算法?

  20. 20

    我们如何使用模板参数类型的变量?

  21. 21

    我们如何使用模板参数类型的变量?

  22. 22

    我们可以对<Textended SomeClass>使用原始类型吗?

  23. 23

    我如何在流明5.2上使用Illuminate \ Session \ Middleware \ StartSession :: class

  24. 24

    我们如何在结构上初始化List类型属性?在vb.net中

  25. 25

    我们如何在phantomjs中使用EvaluationAsync

  26. 26

    我们如何在Cakephp中使用SoapClient?

  27. 27

    我们如何在TreeMap中使用异构密钥

  28. 28

    我们如何在iOS中使用LTBouncytextfield库?

  29. 29

    我们如何在onChange / onReceive中使用ObservableObject?

热门标签

归档