Java для состоит: проверки атрибута для каждой записи из таблицы


Предположим, что этот код Java преобразуется в Состоит вызывается приложение, которое считывает таблицу и проверки отдела каждый сотрудник в университете.

Моей главной задачей является, если есть более эффективные, стандартные, или иначе, лучший способ пойти о проверке сотрудника отдела, а не как я сделал это ниже. Нуль должен быть возвращен в случае, если департамент является недействительным.

import java.util.HashSet;
import java.util.Arrays;

public class Test{

    public static final String VALID_DEPARTMENTS[] = {
            "Computer Science", "Biology"
    };

    public static final HashSet<String> set = new HashSet<String>( Arrays.asList(VALID_DEPARTMENTS) );

    public String validate(String dep) {
        if( set.contains(dep) )
            return dep; 
        return null;
    }

    public static void main(String[] args){
        Test t = new Test();
        System.out.println( t.validate("CS") );
    }
}


74
0
задан 5 февраля 2018 в 01:02 Источник Поделиться
Комментарии
1 ответ

Приходят несколько вещей, чтобы помнить:


  1. В Java 9 можно использовать Set.of("X", "Y", ...).

  2. Или можно упростить private static final Set<String> VALID_DEPARTMENTS = new HashSet<>(Arrays.asList("A", "B"));

  3. Может изменять проверки(деп) в return set.contains(dep) ? dep : null;

  4. Было бы неплохо вернуть "" вместо null, если вообще возможно. Это значит, что проект не закончится с Т if (x != null) все на месте.

  5. Рекомендуем переименовать Test что-то более описательное. Может DepartmentValidator может быть шагом в правильном направлении.

  6. Наверное, рефакторинг dep для department. В конечном итоге смысл может стать менее очевидным, как проходит время, и кодовая база растет.

  7. Примечание: проверка в настоящее время достаточно строгое (точное совпадение), поэтому я предполагаю, что входящие данные довольно точные (не опечатками или другой капитализации, и т. д.)

2
ответ дан 10 февраля 2018 в 08:02 Источник Поделиться