#java #android
#java #Android
Вопрос:
Как я могу добавить эту строку [][] элемент данных.
String[][] data = new String[][] {{},{},{"Link 1","Link 2"},{},{}};
Ожидаемый результат:
data = new String[][] {{"value1,value2"},{},{"Link 1","Link 2"},{},{"value3,value4"}};
Комментарии:
1. Откуда берется «значение1, значение2»?
2. из массива json на стороне сервера
3. Можете ли вы уточнить, что вы хотите сделать? У вас есть строки с новыми значениями? Откуда вы знаете, куда они должны идти?
4. итак .. вы хотите добавить что к чему?
5. скажем, добавьте String = «element1,element2,element3»; в третью позицию в данных
Ответ №1:
Массивы имеют фиксированную длину, поэтому, если вы хотите добавить элементы в пустой массив, вам нужно создать другой с достаточной емкостью.
String[][] data = new String[][] {{},{},{"Link 1","Link 2"},{},{}};
data[0] = new String[]{"value1,value2"};
data[4] = new String[]{"value3,value4"};
дает ожидаемое значение
[["value1,value2"],[],["Link 1","Link 2"],[],["value3,value4"]]
Теперь, если вы хотите добавить строку "element1,element2,element3"
в 3-ю позицию:
int oldLen = data[2].length;
String[] arr = new String[oldLen 1];
System.arraycopy(data[2], 0, arr, 0, oldLen);
arr[oldLen] = "element1,element2,element3";
data[2] = arr;
и данные теперь должны быть:
[["value1,value2"],[],["Link 1","Link 2","element1,element2,element3"],[],["value3,value4"]]
Комментарии:
1. где фигурные скобки ?
2.
newStr = newStr.replace("[", "{")
иnewStr = newStr.replace("]", "}")
чтобы получить фигурные скобки.3. @Dimitri Какие фигурные скобки? Я сделал код вручную, но я считаю, что он компилируется. 2-я строка (после каждого примера) — это строковое представление массива.
4. следует заменить все «[» на «{» и «]» на «}»
5. Нет. {} может использоваться только для инициализации массива. Правильный способ печати массива — квадратные скобки, например, android.util . Arrays.arrayToString() (этот метод некорректно обрабатывает многомерные массивы)