проблемы
Есть несколько проблем с вашим кодом:
Access
должно быть access
в Java принято вводить строчные буквыбуква в начале переменной и буква в верхнем регистре в начале имени класса, поэтому классы и переменные легко различимы
, но в основном
list
не существует, поэтому вы должны создать переменную.
решения
массивы
public AccessLevel[] getAccess() {
String accessesString = "MERIA : SMI";
String[] split = accessesString.split(" : ");
AccessLevel[] list = new AccessLevel[split.length];
for (int i = 0; i < split.length; i++) {
list[i] = AccessLevel.valueOf(split[i]);
}
return list;
}
Список
Вы должны действительно использовать List вместо базовых массивов, они более универсальны и более просты в использовании.
public List<AccessLevel> getAccess() {
String accessesString = "MERIA : SMI";
String[] split = accessesString.split(" : ");
List<AccessLevel> list = new ArrayList<>();
for (String access : split) {
list.add(AccessLevel.valueOf(access));
}
return list;
}
Streams
Самые элегантные решения на мой взгляд, но, возможно, немного сложнее.
public List<AccessLevel> getAccess() {
String accessesString = "MERIA : SMI";
String[] split = accessesString.split(" : ");
return Arrays.stream(split)
.map(AccessLevel::valueOf)
.collect(Collectors.toList());
}
Надеюсь, это было полезно!Greetz