Java-如何创建具有值的字符串数组?

我知道如何创建一个空数组,但是如何创建一个从一开始就包含值的 String数组呢?

255641 次浏览

你可以这么做

String[] myStrings = { "One", "Two", "Three" };

或者表达方式

functionCall(new String[] { "One", "Two", "Three" });

or

String myStrings[];
myStrings = new String[] { "One", "Two", "Three" };

通过使用数组初始值设定项列表语法,例如:

String myArray[] = { "one", "two", "three" };

您需要初始化一个数组

int []ar={11,22,33};


String []stringAr={"One","Two","Three"};

来自 JLS

[]可以作为类型的一部分出现在声明的开头,或者作为特定变量的声明器的一部分,或者两者兼而有之,如下例所示:

byte[] rowvector, colvector, matrix[];

本声明相当于:

byte rowvector[], colvector[], matrix[][];

创建一个数组的另一种方法

String[] strings =  { "abc", "def", "hij", "xyz" };

我发现如果有很多字符串的话,这个更容易阅读。

String[] strings =  "abc,def,hij,xyz".split(",");

如果您正在解析来自另一个源的字符串行,那么以下内容就很好。

String[] strings =  ("abc\n" +
"def\n" +
"hij\n" +
"xyz").split("\n");

另一种方法是使用 Arrays.setAllArrays.fill:

String[] v = new String[1000];
Arrays.setAll(v, i -> Integer.toString(i * 30));
//v => ["0", "30", "60", "90"... ]


Arrays.fill(v, "initial value");
//v => ["initial value", "initial value"... ]

这对于初始化(可能是大型的)数组更有用,在这些数组中可以根据索引计算每个元素。