如何在字符串数组中转换字符串?

时间:2011-10-11 11:38:30

标签: java string arrays

假设我得到2个字符串

"About product" and "About Us"

我希望将它们存储在String数组中,如

myArray[]={"About product", "About Us"};

怎么做?

4 个答案:

答案 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。