在JAVA中,原始数据类型如"int",CLASS还是OBJECT?

use*_*296 1 java int types class object

我读基本Java类型(boolean,byte,char,short,int,long,float,和double)和关键字void也表示为类Class对象.那么这意味着这int是一个类的对象Class然后如何跟随语句不抛出错误因为.class只用于类名?

Class c = int.class
Run Code Online (Sandbox Code Playgroud)

And*_*lko 5

  • int 是一种数字类型.
  • int.class 是一个类文字.

类文字是一个表达式,由类,接口,数组或基本类型的名称或伪类型组成void,后跟a .和标记类.

ClassLiteral:

  • TypeName {[ ]} . class
  • NumericType {[ ]} . class
  • boolean {[ ]} . class
  • void . class

JLS 10 - 15.8.2.类文字

此外,

Class<Integer> intClass = int.class;
Run Code Online (Sandbox Code Playgroud)

根据

的类型的p.class,其中p是一个基本类型的名称(§4.2),是Class<B>其中B是式的表达式的类型p装箱转换后(§5.1.7).

JLS 10 - 15.8.2.类文字