Инициализация строки Android - PullRequest
1 голос
/ 15 декабря 2011

У меня есть запрос о строках.

Я объявляю свой массив строк как:

private static String[] name;

Затем я пытаюсь добавить строку к нему:

name[0] = temp    // Where temp as another string

Я получаю нулевой указательошибка с вышеуказанным кодом.Правильно ли я инициализирую массив строк?

Ответы [ 4 ]

4 голосов
/ 15 декабря 2011

Похоже, вы пропустили, чтобы написать name = new String[CAPACITY]; где-то

2 голосов
/ 15 декабря 2011

Если вы хотите динамически добавлять элементы в Array of Strings, я бы порекомендовал вам сделать

private static ArrayList<String> name = new ArrayList<String>();

, а затем используйте ниже для добавления строк:

name.add(temp);

Если вы знаете размер, который он будет иметь, то вы можете создать массив следующим образом:

private static String[] name = new String[10]; //if it's going to have 10 elements (typo corrected)
0 голосов
/ 15 декабря 2011

В точке

private static String[] name;

в вашем коде 'name' по-прежнему null.

для массива строк, вам необходимо объявить (постоянное) количество строкВы хотите сохранить.

int n = 10;
private static String[] name = new String[n];

Вы никогда не сможете записать более чем n строк в ваш массив.

Если вы хотите иметь количество строк динамически, вы должны использоватьVector<String> или ArrayList<String>.Оба объекта используют myStrings.add(String string) -метод для добавления строки, и вы можете получить доступ к строкам, вызвав myStrings.get(int position).

0 голосов
/ 15 декабря 2011

Проблема в том, что вы не инициализировали массив строк.

Вы можете объявить и инициализировать его следующим образом:

private static String[] name = new String[4]; Где '4' - размер вашего массива.

или

private static String[] name = {temp, temp2, temp3}; Где временные значения - это каждый отдельный элемент в массиве.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...