为什么原始类型具有“类”以及它如何用于使用?

时间:2012-11-16 14:06:42

标签: java types

谈到Java(7),你可以得到一个类这样的原始类:

Class classOfInt = int.class

对于每一个,你将获得一个名为基本类型的“类”:

int.class    --> int
byte.class   --> byte
double.class --> double
...

但是你无法创建那些实例:

char.class.newInstance(); // throws 'InstantiationException'

它们的类似乎没有映射到相应的包装类(IntegerByte等。)。

那么为什么他们有“课程”,他们如何使用以及如何实施?

1 个答案:

答案 0 :(得分:6)

它们用于反思。

Method round = Math.class.getMethod("round", double.class);
System.out.println(Arrays.toString(round.getParameterTypes()));
System.out.println(round.getReturnType() == long.class);

Method exit = System.class.getMethod("exit", int.class);
System.out.println(Arrays.toString(exit.getParameterTypes()));
System.out.println(exit.getReturnType() == void.class);

打印

[double]
true
[int]
true
  

它们是如何实施的?

它们内置于JVM,没有用于定义它们的类文件。