在java中,两种数据类型是引用类型和基本类型.引用类型是对象的引用,而基本类型直接包含值.
现在,newjava中的关键字用于创建Object的实例,例如,
String s3 = new String("foo")
Run Code Online (Sandbox Code Playgroud)
要么
String[] myStringArray = new String[3];
Run Code Online (Sandbox Code Playgroud)
这是可以的,因为它String是一个类而不是原始数据类型.
但由于boolean或是int原始数据类型,为什么我们new在创建数组时使用关键字,
int[] myIntArray = new int[3];
int[] myIntArray = new int[]{1,2,3};
boolean[] array = new boolean[size];
Run Code Online (Sandbox Code Playgroud)
不宜new关键字只参照数据类型使用?
The*_*ind 10
因为当你这样做的时候int[] myIntArray = new int[3];你正在创建一个数组 ..而一个数组也是一个对象.
public static void main(String[] args) {
int[] arr = new int[5];
System.out.println(arr instanceof Object);
}
Run Code Online (Sandbox Code Playgroud)
O/P:
true
Run Code Online (Sandbox Code Playgroud)
编辑:
如果查看字节代码,您将调用new int [5]
1: newarray int并在此处newarray定义.
所以,基本上编译器隐藏了你的真相:P
| 归档时间: |
|
| 查看次数: |
2123 次 |
| 最近记录: |