Question: One way to initialize a `charsequence[]` is

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

```

but I don't want to initialize it this way. Can someone please suggest some other way like the way we initialize `string[]` arrays?

Answer: 
First, fix your variable declaration:

```
charsequence[] item;

```

is not valid syntax.  

Typically, if you want to insert values dynamically, you would use a `List<CharSequence>`. If the object that you eventually need from the dynamic insertion is in fact a `CharSequence[]`, convert the list to an array. Here's an example:

```
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);
}

```

The alternative is to instantiate a `CharSequence[]` with a finite length and use indexes to insert values. This would look something like

```
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);
}

```
[CharSequence](http://download.oracle.com/javase/1.4.2/docs/api/java/lang/CharSequence.html) is an interface you can't initialize like `new CharSequence[]{....}`

Initialize it with it's implementations:

```
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

```

and their's arrays

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

```