2015-11-03 57 views
-1

是否可以将字符串拆分为尚未声明的字符串数组?将Java split()转换为新的String []

我想添加一个字符串数组到一个列表,所以目前我有它像这样设置vars.add(new String[]{s});其中s是一个字符串。无论如何要添加s.split("|")

或者是唯一的选择:

String [] ns = s.split("|"); 
vars.add(ns); 

我是打在NetBeans中,在那里我会做这样一个字符串数组,这个字符串"A|C|D|E"

new String(s).split("|"); 
+2

拆分默认创建的子字符串数组,因此,如果您的方法接受数组作为参数,没有理由为什么你不能使用s.split()作为参数数组传递给方法。你可能只需要改变你的方法在另一方面的作用。 –

+1

'.split()'返回一个String数组。你在问什么?在Java中,数组和集合是不同的,并且不能很好地一起玩。你可以在集合上使用'.addAll()','Arrays.asList()'在'List'的轻量级实现中包装一个数组。 – dsh

回答

4

这是你在做什么寻找?

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

注意,如果你要单独添加Strings到列表中,你必须这样做略有不同。

ArrayList<String> vars = new ArrayList<String>(); 
String s = "A|C|D|E"; 
for (Sting str : s.split("\\|")) 
    vars.add(str); 
+0

嘿,是的,会工作吧。自从之前的方法我开始制作一个新的字符串后,我设置了一个新的字符串,做了一些替换字符串,所以我不能添加原始的 –

+0

你永远不需要创建一个新的字符串。 –

+0

所以这适用于我原来的问题,但现在由于某种原因,它实际上不会在我的字符串“|”字符。它只是分割整个字符串,因此每个字符在数组中都有自己的位置。 –

相关问题