什么是Java数组?它是一个对象吗?它是原始的吗?

时间:2013-01-11 21:36:02

标签: java arrays

  

可能重复:
  How are arrays implemented in java?
  Why isn’t there a java.lang.Array class? If a java array is an Object, shouldn’t it extend Object?

我最近在考虑Java数组,我想知道它们究竟是什么?

他们是对象吗?

  • 你可以在它们上面调用toString()(即使它只给你了 记忆地址)
  • 以下行汇编Object a = new int[5];

但是,它们真的是对象吗?

  • 您可以通过new int[5]创建一个新数组......这就像没有构造函数一样 我见过的。人们会认为它是new Array<Integer>(5)或类似的东西
  • 如果查看Java API,则找不到array class ...你会找到Array,但这不是一个数组

它的可迭代属性是什么

  • 你可以在for循环中遍历一个数组,但是我找不到iterator数组方法

我认为数组只是直接构建在Java语言中的一些特殊异常;然而,这也提出了一个问题:为什么阵列会得到特殊处理? (为什么没有Array API?为什么有不同类型的构造函数?)

任何关于阵列真实性质的澄清都将受到赞赏。

P.S。我有几年Java经验,所以我知道如何使用数组和他们做什么,我只是问它们是如何实现的,为什么?

0 个答案:

没有答案