Как добавить данные в charsequence [] динамически в Java? - PullRequest
7 голосов
/ 06 января 2011

один из способов инициализации charsequence [] - это

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

, но я не хочу инициализировать его таким образом.Может кто-нибудь, пожалуйста, предложить другой способ, например, как мы инициализируем массив строк [] ...

спасибо

Ответы [ 3 ]

7 голосов
/ 12 марта 2014

Сначала исправьте объявление переменной:

charsequence[] item 

Недопустимый синтаксис.
Обычно, если вы хотите вставить значения динамически, вы должны использовать список. Если объект, который вам в конечном итоге понадобится для динамической вставки, на самом деле является 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);
}
5 голосов
/ 06 января 2011

Это способ инициализации массива строк.Вы также можете иметь:

CharSequence[] ar = new String[2];
0 голосов
/ 06 января 2011

CharSequence - это интерфейс, который вы не можете инициализировать, например new CharSequence[]{....}

Инициализируйте его с помощью его реализаций

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];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...