2015-11-03 92 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

所以這適用於我原來的問題,但現在由於某種原因,它實際上不會在我的字符串「|」字符。它只是分割整個字符串,因此每個字符在數組中都有自己的位置。 –

相關問題