我知道如何创建一个空数组,但是如何创建一个从一开始就包含值的 String数组呢?
String
你可以这么做
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.setAll或 Arrays.fill:
Arrays.setAll
Arrays.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"... ]
这对于初始化(可能是大型的)数组更有用,在这些数组中可以根据索引计算每个元素。