gpt4 book ai didi

java - Java 中的数组声明和初始化

转载 作者:行者123 更新时间:2023-12-04 11:35:15 27 4
gpt4 key购买 nike

  • int[] array = new int[]{1,2,3};
  • int[] array = {1,2,3};
  • int[] array;
    array = new int[]{1,2,3};
  • int[] array;  
    array = {1,2,3};

  • 有人可以解释为什么最后一个是错误的以及我们可以做 #2 的原因吗?

    最佳答案

    作为对您问题的直接回答,之所以如此,是因为 Java 语言是以这种方式定义的。当我们声明一个新字段或局部变量时,我们可以通过表达式( new int[] { 1, 2 3 } )或数组初始值设定项({1, 2, 3})对其进行初始化。当分配给先前声明的字段或局部变量时,我们只能使用表达式。
    我只能推测为什么存在这种差异,但我认为这与数组被具体化的事实有关,也就是说,在运行时,数组知道其元素的类型。这意味着您在创建新数组时需要指定元素类型。初始化数组时,元素类型很容易获得,因为数组类型的类型是明确指定的,但在表达式中不是,至少在一般情况下不是。人们当然可以尝试推断元素的类型,但语言设计者选择不这样做。

    关于java - Java 中的数组声明和初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67782405/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com