gpt4 book ai didi

java - Integer.class 与 int.class

转载 作者:IT老高 更新时间:2023-10-28 21:05:33 24 4
gpt4 key购买 nike

Integer.classInteger.TYPEint.class有什么区别?

按我说的

  1. Integer.class是Integer(Wrapper)Class对象的引用
  2. 但是 int.class 是什么,因为 int 不是类,它是原始类型。 Integer.TYPE 指的是什么?

最佳答案

Integer.class 如您所说,是对 Integer 类型的 Class 对象的引用。

int.class 是相似性,对 int 类型的 Class 对象的引用。你说得对,这听起来不对;原语都有一个 Class 对象作为特例。如果您想区分 foo(Integer value)foo(int value) 之间的区别,它对反射很有用。

Integer.TYPE(不是 Integer.type,请注意)只是 int.class 的快捷方式。

您可以通过一个简单的程序来了解这一点:

public class IntClasses {
public static void main(String[] args) {
Class<Integer> a = int.class;
Class<Integer> b = Integer.TYPE;
Class<Integer> c = Integer.class;

System.out.println(System.identityHashCode(a));
System.out.println(System.identityHashCode(b));
System.out.println(System.identityHashCode(c));
}
}

示例输出(每次都会不同,但前两个总是相同的,第三个几乎总是不同的):

366712642
366712642
1829164700

关于java - Integer.class 与 int.class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22470985/

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