【问题标题】:String[] names = String[0]; is this valid?字符串 [] 名称 = 字符串 [0];这是有效的吗?
【发布时间】:2015-08-12 05:58:50
【问题描述】:

我在this website上测试过:

String[] names =new String[0]; 

结果表明这是有效的,但是当我在 IDE 上对其进行测试时,我得到了一个错误。谁能告诉我为什么?

【问题讨论】:

  • 哪个网站告诉String[] names = String[0];这是声明String对象的正确方法?请让我们知道我们将向他们收取学费
  • Nothing Wrong to declare like this String[] names = new String[0]; 你得到什么异常或编译时错误?
  • StackOverflow 上的第一 规则:不要告诉我们“我遇到错误”而不告诉我们错误是什么。为什么为什么为什么为什么为什么为什么为什么提问者觉得他们必须对我们保密?????????????????????????
  • 那么在添加new 后,您是否仍然收到错误消息?如果你是,请告诉我们它是什么。如果你不是,那么不要留下这个问题。关闭它。
  • @ajb:对不起,我会注意的

标签: java arrays


【解决方案1】:

String[] names可以通过多种方式初始化:

(1) String[] names = {};
(2) String[] names = new String[0];
(3) String[] names = new String[] {};

【讨论】:

    【解决方案2】:

    你错过了新的运营商:-

    String[] names =new String[0]; 
    

    但是您需要为数组指定一些大小才能使用它。
    上面的代码正在创建一个字符串类型和大小为 0 的数组。

    【讨论】:

    • 如果创建一个字符串类型和大小为 0 的数组。我认为不使用名称变量。我们不能为名称变量赋值。谢谢
    【解决方案3】:
    String[] names = new String[0]; 
    

    是一个有效的声明(正如the web-quiz that you mention 建议的那样),即使我质疑它的可用性,因为它创建了一个长度为零的数组,所以你不能向它添加任何元素......

    您在评论中暗示(我认为)的错误

    “如果创建一个字符串类型且大小为 0 的数组。我认为未使用名称变量。我们不能为名称变量赋值。谢谢”

    Amit Bhati 的(完全有效的)答案中,不是错误。

    “变量未使用”是一个警告,告诉你你声明了一些你从不使用的东西。换句话说,您没有为该数组分配任何值。如果您之后实际使用 names 变量并为其赋值(即使它没有意义,因为它的长度为 0),警告将会消失。

    例如:

    names[0] = "something";
    

    不过,这会将 IDE 警告变成运行时问题...

    编辑:至于为什么java允许声明长度为0的数组,可以关注this post

    【讨论】:

    • 当我们声明一个从不使用的数组时,为什么 IDE 不发出错误。 String[] names = new String[0];// 从不,从不使用
    • @QuanNguyen 这是一个不同的(好)问题(stackoverflow.com/questions/4612471/…
    猜你喜欢
    • 2021-04-12
    • 2018-10-01
    • 2014-02-14
    • 1970-01-01
    • 2020-05-05
    • 1970-01-01
    • 1970-01-01
    • 2011-11-02
    • 1970-01-01
    相关资源
    最近更新 更多