2015-06-09 2 views
1

Я нищенский в Java и у меня есть вопрос о конвертере String в Class Тип (?).Преобразование струнного сканера в тип класса

Мой главный класс есть это:

Scanner scanner = new Scanner(System.in); 
    System.out.println("Inserir 1o nome:"); 
    String firstname = scanner.next(); 
    System.out.println("Inserir apelido:"); 
    String lastname = scanner.next(); 
    System.out.println("Inserir género:"); 
    String gender = scanner.next(); 
    System.out.println("Inserir tipo de funcionário (A, B ou C):"); 
    String type = scanner.next(); 

Но я должен преобразовать последний String к типу перечисления:

public enum EmployeeType { 
    A, 
    B, 
    C 
} 

Любой намек?

+0

Вы пытаетесь использовать A/B/C для вызова функций в EmplyoeeType mehtod? Или использовать его для определения данных? – fftk4323

+0

Попробуйте найти типы перечислений Вот ссылка [Типы перечислений] (https://docs.oracle.com/javase/tutorial/java/javaOO/enum.html) – fftk4323

ответ

1

Вы можете сделать:

String type = scanner.next(); 
EmployeeType enumType = EmployeeType.valueOf(type); 
0

Вы можете использовать switch до Java7 ...

String type = scanner.next(); 
EmployeeType eType = EmployeeType.valueOf(type); 

switch(eType) { 
    case A: 
     // do what you need 
     break; 
    case B: 
    // etc... 
} 

Или вы можете сравнить с, если

if (type.equals(EmployeeType.A.toString()) { 
    // do your stuff 
} else if (type.equals(EmployeeType.B.toString()) { 
    // etc... 
} 
Смежные вопросы