i-6ren">
gpt4 book ai didi

java - 为什么基本类型有一个 "Class"以及它是如何使用的?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:50:47 26 4
gpt4 key购买 nike

谈到 Java (7),您可以获得像这样的原始类型的类:

Class classOfInt = int.class

对于每一个你都会得到一个名为原始类型的“类”:

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

但是你不能创建它们的实例:

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

他们的类好像没有映射到相应的包装类(IntegerByte等)。

那么它们为什么会有“类”,它们是如何使用的,又是如何实现的呢?

最佳答案

它们用于反射。

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

how are they implemented?

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

关于java - 为什么基本类型有一个 "Class"以及它是如何使用的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13418202/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com