问题1:我有一个疑问,如果我们只能创建类的对象,那么我们如何能够创建原始数据类型的对象,例如int,char等。
问题2:现在假设Ankit是一个类,如果我写
Ankit a=new Ankit();
System.out.println(a.getClass().getName());
Run Code Online (Sandbox Code Playgroud)
它会给我 a 的类名。另外如果我写
System.out.println(Ankit.class);
Run Code Online (Sandbox Code Playgroud)
然后它也会给出类名。但是如果我写
int ar[]=new int[10];
System.out.println(ar.getClass().getName());
System.out.println(int.class);
Run Code Online (Sandbox Code Playgroud)
然后我得到的输出为:
[我和int
为什么这样?在这里我也应该得到与 int ar 的类名相同的输出那么为什么不同的输出以及什么是 [I?
您的第二个片段与第一个片段的作用不同。相反,您正在打印
您应该将代码片段的最后一行更改为:
System.out.println(int[].class);
Run Code Online (Sandbox Code Playgroud)
使其打印与上面一行相同的内容。
关于问题的第二部分:这就是 java 表示数组的类名的方式。
int
是[I
int
是[[I
Ankit
是[LAnkit;
(您可以使用 观察System.out.println(Ankit[].class);
)