java中新String [] {}和新String []之间的区别

2 java arrays string

清新在Java中,我有Java中的疑问是

String array= new String[]{};
Run Code Online (Sandbox Code Playgroud)
  1. {}的用途是什么?
  2. 之间有什么区别String array=new String[];String array=new String[]{};
  3. 当我写作时String array=new String[10]{};出错了为什么?帮帮我,我很困惑.

Ros*_*rew 23

{}定义数组的内容,在这种情况下它是空的.这些将都具有三个阵列String小号

String[] array = {"element1","element2","element3"};
String[] array = new String[] {"element1","element2","element3"};
Run Code Online (Sandbox Code Playgroud)

[]在定义侧(右侧=的声明)限定的预期阵列的大小,例如,这将有10个位置的阵列放置String小号

String[] array = new String[10];
Run Code Online (Sandbox Code Playgroud)

...但...

String array = new String[10]{};  //The line you mentioned above
Run Code Online (Sandbox Code Playgroud)

是错误的,因为您正在定义一个长度为10([10])的数组,然后定义一个长度为0({})的数组,并尝试array在一个语句中将它们设置为相同的数组引用().两者都无法设定.

另外

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


Vim*_*era 10

String array=new String[];并且String array=new String[]{};两者都是java中的无效语句.

它将为您提供您尝试分配String arrayString数据类型的错误.更具体地说,错误是这样的Type mismatch: cannot convert from String[] to String


Daw*_*ica 6

您可以选择创建对象数组(而不是基元数组).

一种选择是指定数组的大小,在这种情况下它只包含许多空值.

String[] array = new String[10]; // Array of size 10, filled with nulls.
Run Code Online (Sandbox Code Playgroud)

另一个选项是指定数组中的内容.

String[] array = new String[] {"Larry", "Curly", "Moe"};  // Array of size 3, filled with stooges.
Run Code Online (Sandbox Code Playgroud)

但你不能混合使用这两种语法.选择一个或另一个.