Чтение значения из строки в массив строк в Java

#java #arrays #string

#java #массивы #строка

Вопрос:

Как прочитать строку в массив строк в Java, у меня есть следующий код :

 for (int i=0 ; i<=jArr2.length() ; i   ) {
    JSONObject jArrOb = jArr2.getJSONObject(i);
    String empIDStr = jArrOb.getString("emp_id");
    String[] plant_ID[i] = empIDStr;             
}
  

Компилятор выдает ошибку, указывающую, что строка не может быть прочитана в массив строк. Я в основном перемещаю значения объекта JSON в массив строк.

Ответ №1:

Вам необходимо инициализировать массив строк перед циклом:

 int n = jArr2.length();
String[] plant_ID = new String[n];

for (int i=0 ; i<n ; i   )
{
     JSONObject jArrOb = jArr2.getJSONObject(i);
     String empIDStr = jArrOb.getString("emp_id");
     plant_ID[i] = empIDStr; 
                
}
  

Ответ №2:

Попробуйте выполнить следующее, где вы сначала создаете массив. Обязательно измените верхнюю границу вашего цикла for, чтобы избежать исключения Array out of bounds.

 String[] plant_ids = new String[jArr2.length];
for (int i=0; i<jArr2.length(); i   ) {
   JSONObject jArrOb = jArr2.getJSONObject(i);
   String empIDStr = jArrOb.getString("emp_id");
   plant_ids[i] = empIDStr;             
}      
  

Комментарии:

1. Спасибо, это сработало ….. единственная модификация, необходимая в вашем коде, заключалась в том, что мне пришлось ввести length() вместо length