假设我得到2个字符串
"About product" and "About Us"
我希望将它们存储在String
数组中,如
myArray[]={"About product", "About Us"};
怎么做?
答案 0 :(得分:4)
你最后展示的代码几乎已经正确。如果您在此时声明变量,则可以使用:
String[] myArray = { firstString, secondString };
否则(如果在别处宣布)你可以使用:
myArray = new String[] { firstString, secondString };
如果这不是您想要达到的目的,请澄清您的问题。
答案 1 :(得分:0)
String[] myArray = {"About product","About Us"};
答案 2 :(得分:0)
嗯,你可以直接做到这一点
String[] myArray={"About product", "About Us"};
如果你的意思是你在运行时获得字符串,你可以这样做:
String[] myArray = new String[2];
myArray[0] = s1;
myArray[1] = s2;
答案 3 :(得分:0)
你正在动态地阅读字符串,并且你希望最终得到它们的数组(String[]
),但是在你读完它们之前你不知道它们有多少。
在Java中,数组的长度是固定的,所以答案是不将它们存储在数组中,直到你知道它们有多少。您需要的是一个临时列表。您可以使用多个列表,具体取决于某些性能特征,但ArrayList
是一个合理的选择。
ArrayList<String> arrList = new ArrayList<String>();
将创建一个新的数组列表。然后在循环中,您可以读取一个字符串并将其添加到列表中(将扩展以适应每个新条目):
arrList.add(str);
然后您可以创建并填充真正想要的数组。 List
上有一种方便的方法,可以这样做:
String[] strArray = arrList.toArray(new String[arrList.size()]);
乍一看为什么toArray
方法需要将数组传递给它,但它使调用类型安全,并且您不必将结果强制转换为String[]
。您可以阅读此方法here的JavaDoc。