Java拆分()为新字符串[]

Java拆分()为新字符串[],java,string,split,Java,String,Split,是否可以将字符串拆分为尚未声明的字符串数组 我想向列表中添加一个字符串数组,所以目前我将其设置为vars.add(newstring[]{s})其中s是一个字符串。是否有任何方法使其添加s.split(“|”) 或者是唯一的选择: String [] ns = s.split("|"); vars.add(ns); 我在netbeans中玩,在那里我会制作一个字符串数组,使用这个字符串“a | C | D | E”: 这就是你要找的吗 ArrayList<String[]> var

是否可以将字符串拆分为尚未声明的字符串数组

我想向列表中添加一个字符串数组,所以目前我将其设置为
vars.add(newstring[]{s})其中
s
是一个字符串。是否有任何方法使其添加
s.split(“|”)

或者是唯一的选择:

String [] ns = s.split("|");
vars.add(ns);
我在netbeans中玩,在那里我会制作一个字符串数组,使用这个字符串
“a | C | D | E”


这就是你要找的吗

ArrayList<String[]> vars = new ArrayList<String[]>();
String s = "A|C|D|E";
vars.add(s.split("\\|"));

Split在默认情况下创建一个子字符串数组,因此,如果您的方法接受数组作为参数,则没有理由不能使用s.Split()作为参数将数组传递给该方法。您可能只需要更改方法在另一端的操作。
.split()
返回一个字符串数组。这就是你要问的吗?在Java中,数组和集合是不同的,不能很好地结合在一起。您可以对集合使用
.addAll()
,并使用
数组.asList()
列表
的轻量级实现中包装数组。呵呵,是的,这很管用。我开始创建一个新字符串,因为我使用了以前的方法,用字符串进行了一些替换,所以我无法添加原始字符串。您永远不需要创建新字符串。因此,这适用于我的原始问题,但由于某些原因,现在它实际上不会在“|”字符处拆分我的字符串。它只是分割整个字符串,这样每个字符在数组中都有自己的位置。@Eric:那是因为|在正则表达式中有特殊的含义,您需要转义|。这应该是
s.split(\\\\;”)
:-)@NathanHughes好球!
ArrayList<String[]> vars = new ArrayList<String[]>();
String s = "A|C|D|E";
vars.add(s.split("\\|"));
ArrayList<String> vars = new ArrayList<String>();
String s = "A|C|D|E";
for (Sting str : s.split("\\|"))
    vars.add(str);