【问题标题】:Array - object or simple variable? [duplicate]数组 - 对象或简单变量? [复制]
【发布时间】:2017-03-25 13:54:43
【问题描述】:

在 java 中,数组可以创建为 int[] arr = {value1, value2, value3,.....}。这里我们没有使用“new”关键字。那么在java中如何说数组是一个对象呢?

【问题讨论】:

  • 它使用文字符号。就像你可以做 String a = "b"; 而不必做 String a = new String("b");a 仍然是一个对象一样,数组是用没有 new 的文字声明和初始化的,并且仍然是一个对象。
  • 这取决于,与大多数语言的大多数实现一样,您分配的所有内存都被分配为一个对象。虽然有些人赞同只有 class 对象是真正对象的想法,我讨厌这一点,但我认为在日常谈论 Java 之类的语言时,它确实消除了歧义。
  • 这只是一个语法快捷方式,仍然可以使用new关键字创建数组,如int[] ints = new int[10];
  • -Andrew Li String a = "b" 与存在于字符串池中的 "b" 有关。您能否在上下文中解释一下数组?

标签: java arrays object


【解决方案1】:

Java 语言规范是这么说的 (http://docs.oracle.com/javase/specs/jls/se7/html/jls-10.html):

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

【讨论】:

    【解决方案2】:

    Java 规范说:“对象是类实例或数组。”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-26
      • 1970-01-01
      • 2019-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-13
      • 2011-01-03
      相关资源
      最近更新 更多