添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
public final class Void {
    public static final Class<Void> TYPE = (Class<Void>) Class.getPrimitiveClass("void");
    private Void() {}

java.lang.Void类是一个占位符类,用于持有表示Java关键字void的java.lang.Class对象的引用。它是一个final类,因此不能被继承,也包含一个私有的构造方法,因此不能被实例化。

java.lang.Void类中有一个名为TYPE的公共静态常量,它是一个java.lang.Class<Void>类型的引用,表示关键字void所对应的虚拟类型。这个常量是通过调用java.lang.Class.getPrimitiveClass(“void”)来获得的,因为void不是一个类而是一个关键字。由于void类型不能有实例,因此不能使用new运算符创建其对象。因此,Void类的唯一目的是为了表示void类型,并提供一个与其它类型相似的引用。

Class.getPrimitiveClass()

static native Class<?> getPrimitiveClass(String name);

该方法是一个本地方法(native method),具体实现由JVM提供。该方法接受一个字符串类型的参数name,表示需要返回其对应的基本类型的java.lang.Class对象。例如,当传入参数为"int"时,返回的是int类型对应的java.lang.Class对象。该方法常用于获取基本类型的java.lang.Class对象,从而方便地获取相应的包装类,例如:int对应的包装类为java.lang.Integer,double对应的包装类为java.lang.Double等。

java.lang.Boolean、java.lang.Byte、java.lang.Character、java.lang.Double、java.lang.Float、java.lang.Integer、java.lang.Long、java.lang.Short这八种基本类型对应的包装类型,加上java.lang.Void,都提供了一个公共静态属性TYPE,它返回一个Class对象,该对象表示对应的基本数据类型(这里将void也算进去)。

推荐阅读:Java包装类型

  • java.lang.Booleanpublic static final Class<Boolean> TYPE = (Class<Boolean>) Class.getPrimitiveClass("boolean");
  • java.lang.Bytepublic static final Class<Byte> TYPE = (Class<Byte>) Class.getPrimitiveClass("byte");
  • java.lang.Characterpublic static final Class<Character> TYPE = (Class<Character>) Class.getPrimitiveClass("char");
  • java.lang.Doublepublic static final Class<Double> TYPE = (Class<Double>) Class.getPrimitiveClass("double");
  • java.lang.Floatpublic static final Class<Float> TYPE = (Class<Float>) Class.getPrimitiveClass("float");
  • java.lang.Integerpublic static final Class<Integer> TYPE = (Class<Integer>) Class.getPrimitiveClass("int");
  • java.lang.Longpublic static final Class<Long> TYPE = (Class<Long>) Class.getPrimitiveClass("long");
  • java.lang.Shortpublic static final Class<Short> TYPE = (Class<Short>) Class.getPrimitiveClass("short");
  • java.lang.Voidpublic static final Class<Boolean> TYPE = (Class<Boolean>) Class.getPrimitiveClass("void");

TYPE属性可以用于一些反射操作,例如通过java.lang.Class对象获取类的名称、修饰符、字段、方法等。

获取int类型的java.lang.Class对象:

Class<Integer> intClass = int.class;
Class<Integer> integerClass = Integer.TYPE;
				
java Class 的getSuperclass() 和getGenericSuperclass()区别 getSuperclass() 返回直接继承的父类(由于编译擦除,没有显示泛型参数) getGenericSuperclass() 返回直接继承的父类(包含泛型参数) 主要区别就是带不带泛型参数。
isprimitive 类class isPrimitive()方法 (Class class isPrimitive() method) isPrimitive() method is available in java.lang package. isPrimitive()方法在java.lang包中可用。 isPrimitive() method is used to check whe...
public final class Long extends Number implements Comparable { public static final long MIN_VALUE = 0x8000000000000000L;//最大值为-2^63 public static final long MAX_VALUE = 0x7fffffffffffffffL;//最
Java反射和注解 **注意:**本章节涉及到JVM相关底层原理,难度会有一些大。 反射就是把Java类中的各个成分映射成一个个的Java对象。即在运行状态中,对于任意一个类,都能够知道这个类所有的属性和方法,对于任意一个对象,都能调用它的任意一个方法和属性。这种动态获取信息及动态调用对象方法的功能叫Java的反射机制。 简而言之,我们可以通过反射机制,获取到类的一些属性,包括类里面有哪些字段,有哪些方法,继承自哪个类,甚至还能获取到泛型!它的权限非常高,慎重使用! Java类加载机制 在学习Java的反射
相信很多同行小伙伴会因为许多原因想跳槽,不论是干得不开心还是想跳槽涨薪,在如此内卷的行业,我们都面临着“面试造火箭,上班拧螺丝”的局面,鉴于当前形势博主呕心沥血整理的干货满满的造火箭的技巧来了,本博主花费2个月时间,整理归纳java全生态知识体系常见面试题!总字数高达百万! 干货满满,每天更新,关注我,不迷路,用强大的归纳总结,全新全细致的讲解来留住各位猿友的关注,希望能够帮助各位猿友在应付面试笔试上!当然如有归纳总结错误之处请各位指出修正!如有侵权请联系博主QQ1062141499!
Class类的作用 Class类是一个特殊类,它用于表示JVM运行时类或接口的信息。 Class类提供很多方法用于获取类的各种信息,比如获取类名、判断该类是否是一个接口还是普通类等等。 在Java中枚举类是一种类,而注解是一个接口,数组也是一个类;Java原始类型(boolean, byte, char, short, int, long, float, and double)和关键字void也被表示为Class的对象。 你知道吗? 在每一个基本类型的包装类中都有一个共有的静态变量,例如Integer: //100以内的数字除以10的结果(取整), //比如取DigitTens[78],返回的是数字7 //只要是70-79的数字,返回的都是7,依次类推,所以总结出规律,其实就是返回的对应数字除10取整的结果。 final static char [] DigitTens = { '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1', '1', '1', '1', '1', '1',
Trait 是为类似 PHP 的单继承语言而准备的一种代码复用机制。 Trait 为了减少单继承语言的限制,使开发人员能够自由地在不同层次结构内独立的类中复用 method。 无法通过 trait 自身来实例化。 它为传统继承增加了水平特性的组合;应用的几个 Class 之间不需要继承。 trait phoneInfo { function getPhoneName(){} function getPhoneDesc(){} class Meizu extends Phone{ 【Java】OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes…… 的解决方法 47861 【Java】OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes…… 的解决方法 m0_70642950: 没有一点用 【C语言】CLion中文乱码问题的解决方案 tbbbw: 第一个点击后直接运行后是对的,但是一点击调试运行起来好像我的还是错的表情包