2011-01-06 121 views
6

一個初始化的CharSequence []的方法是如何在java中動態添加charsequence []中的數據?

charsequence[] item = {"abc","def"}; 

,但我不希望這種方法進行初始化。可有人請建議像我們初始化String []數組的方式一些其他的方式...

感謝

+0

你應該給一個首選方法的例子,因爲你可以像發佈一樣初始化一個字符串數組。 – Shaded 2011-01-06 14:03:23

回答

5

這是您初始化字符串數組的方式。您還可以:

CharSequence[] ar = new String[2]; 
0

CharSequence是界面,你不能初始化像new CharSequence[]{....}

初始化它與它的implementataions

CharSequence c = new String("s"); 
System.out.println(c) // s 

CharSequence c = new StringBuffer("s"); 
System.out.println(c) // s 

CharSequence c = new StringBuilder("s"); 
System.out.println(c); // s 

和他們的陣列

CharSequence[] c = new String[2]; 
CharSequence[] c = new StringBuffer[2]; 
CharSequence[] c = new StringBuilder[2]; 
6

首先解決您的變量聲明:

charsequence[] item 

無效語法。
通常,如果您想動態插入值,則可以使用List。如果您最終需要動態插入的對象實際上是CharSequence [],那麼將該列表轉換爲數組。下面是一個例子:

List<CharSequence> charSequences = new ArrayList<>(); 
charSequences.add(new String("a")); 
charSequences.add(new String("b")); 
charSequences.add(new String("c")); 
charSequences.add(new String("d")); 
CharSequence[] charSequenceArray = charSequences.toArray(new 
    CharSequence[charSequences.size()]); 
for (CharSequence cs : charSequenceArray){ 
    System.out.println(cs); 
} 

另一種方法是實例化的CharSequence []具有有限長度,並且使用索引中插入值。這看起來像這樣:

CharSequence[] item = new CharSequence[8];//Creates a CharSequence[] of length 8 
item[3] = "Hey Bro";//Puts "Hey Bro" at index 3 (the 4th element in the list as indexes are base 0 
for (CharSequence cs : item){ 
    System.out.println(cs); 
}