为什么我们使用'new'关键字和原始数据类型如`boolean`来创建数组?

时间:2015-01-29 12:25:04

标签: java

在java中,两种数据类型是引用类型和基本类型。引用类型是对象的引用,而基本类型直接包含值。

现在,java中的new关键字用于创建Object的实例,例如,

String s3 = new String("foo")

String[] myStringArray = new String[3];

这没关系,因为String是一个类而不是原始数据类型。

但由于booleanint是原始数据类型,为什么我们在创建数组时使用new关键字,

int[] myIntArray = new int[3];
int[] myIntArray = new int[]{1,2,3};
boolean[] array = new boolean[size];

不应该{* 1}}关键字仅用于参考数据类型吗?

4 个答案:

答案 0 :(得分:10)

因为当您执行int[] myIntArray = new int[3];时,您创建数组 ..而且数组也是对象

public static void main(String[] args) {
    int[] arr = new int[5];
    System.out.println(arr instanceof Object);
}

O / P:

true

编辑:

如果查看字节代码,您将调用new int [5]

1: newarray intnewarray定义为here

所以,基本上编译器隐藏了你的真相:P

答案 1 :(得分:3)

new关键字指的是您创建的数组。事实上,

  

在Java编程语言中,数组是对象,是动态的   创建,并可以分配给Object类型的变量。所有方法   可以在数组上调用Object类。

查看this了解详情

答案 2 :(得分:2)

数组是reference类型,因此您需要使用new运算符来创建它。

答案 3 :(得分:0)

数组是可以分配给Object类型变量的对象