Я новичок в Java.У меня есть массив объектов, которые имеют строковое поле.Я могу объединить все строки в строковый массив с помощью цикла, но это очень не элегантно.
int numObj = obj.length;
String[] strArray = new String[numObj];
for (int i = 0; i < numObj; i++) {
strArray[i] = obj[i].strField;
}
Есть ли способ объединить это единственное поле из всех объектов в строковый массив в одной команде?Например:
String[] strArray = (String[]){obj[].strField};
Это не работает, потому что obj[]
является массивом и поэтому не имеет никаких полей, но использование {obj.strField}
также не работает, потому что нет объекта с именемobj
.Кстати, мне действительно не нужно переделывать поле или делать .toString()
, потому что это уже строка.
Я просмотрел многие, многие другие посты (но, возможно, недостаточно?), Связанные с этим, ноЯ до сих пор не мог понять это.Есть некоторые, которые ссылаются на преобразование массива объектов в строковый массив, но я не думаю, что эти сообщения означают преобразование определенного поля в объектах, но самого объекта, в тип uncast.
В MATLABэто было бы тривиально: strCellArray = {obj.strField};
немедленно создаст массив ячеек из всех полей strFields в obj
.
Спасибо за вашу помощь.