java中new String\[\]{}和new String\[\]的区别

新手上路,请多包涵

我在java中比较 新鲜,我对java有疑问

String array= new String[]{};

  1. { } 在这里有什么用?
  2. String array=new String[];String array=new String[]{}; 有什么区别
  3. 当我写 String array=new String[10]{}; 时出现错误,为什么?帮帮我,我很困惑。

原文由 user3011420 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 930
2 个回答

String array=new String[];String array=new String[]{}; 都是 java 中的无效语句。

它会给你一个错误,你试图将 String array 分配给 String 数据类型。更具体地说,错误是这样的 Type mismatch: cannot convert from String[] to String

原文由 Vimal Bera 发布,翻译遵循 CC BY-SA 3.0 许可协议

{} 定义数组的内容,在本例中为空。它们都有一个由三个组成的数组 String s

 String[] array = {"element1","element2","element3"};
String[] array = new String[] {"element1","element2","element3"};

[] 在语句的表达式侧( = 的右侧)定义了预期数组的大小,例如,这将有一个包含 10 个位置的数组来放置 String 小号

String[] array = new String[10];

…但…

 String array = new String[10]{};  //The line you mentioned above

错误是因为您定义了一个长度为 10 的数组( [10] ),然后定义了一个长度为 0 的数组( {} ),并试图将它们设置为相同的数组引用( array ) 在一个声明中。两者都不能设置。

此外

该数组应在语句的开头定义为给定类型的数组,如 String[] arrayString array = /* array value*/ 是说,将数组值设置为 String ,而不是 String 的数组。

原文由 Ross Drew 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题