@k_f_i

Как передать пустое значение в массив?

Здравствуйте, возникла такая проблема. Я разбиваю ФИО на отдельные части и помещаю их в массив, соответственно массив фамилий, имен и отчеств, но отчество есть не у всех, как сделать, чтоб по умолчанию хотя бы что то записывалось в массив.

for (int i = 0; i < setFullNameList.size(); i++) {
    String[] splitFullName = new String[3];
    splitFullName = setFullNameList.get(i).split(" ");
    for (int is = 0; is < splitFullName.length; is++) {
        System.out.println(is);
        switch (is) {
            case 0:
                lastName.add(splitFullName[is]);
                break;
            case 1:
                firstName.add(splitFullName[is]);
                break;
            case 2:
                System.out.println(splitFullName[is]);
                middleName.add(splitFullName[is]);
                break;
            default:
                middleName.add("none");
        }
    }
}
  • Вопрос задан
  • 194 просмотра
Пригласить эксперта
Ответы на вопрос 2
TheBeJIIHiu
@TheBeJIIHiu
Просто обычный кодер?
Примитивные целые числа Java не могут быть нулевыми, но класс Integer, обертывающий примитивное целое, может быть нулевым. Вот один из вариантов для рассмотрения:

Integer[] num = new Integer[3];
num[0] = 23;
num[1] = null;
num[2] = 12;


Правила упаковки в Java упрощают взаимозаменяемое использование int и Integer в большинстве случаев.
Ответ написан
@Wan-Derer
Зобанели на Хабре, волки́ ;((
Что-то ты навертел :) По-моему, так понятнее:
final List<String[]> splitNames = new ArrayList<>();
    
for (int i = 0; i < setFullNameList.size(); i++) {
  String[] splitFullName = {"", "", "none"};
  String[] temp = setFullNameList.get(i).split(" ");

  if (temp.length < 2) continue;    // некорректный ввод, переходим к следующему

  splitFullName[0] = temp[0];
  splitFullName[1] = temp[1];
  if (temp.length == 3) splitFullName[2] = temp[2];

  splitNames.add(splitFullName);    // сохраняем массив splitFullName
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы