【问题标题】:Convert String scanner to class type将字符串扫描器转换为类类型
【发布时间】:2015-08-24 09:00:49
【问题描述】:

我是 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
}

有什么提示吗?

【问题讨论】:

  • 您是否尝试使用 A/B/C 调用 EmplyoeeType 方法中的函数?还是用它来定义数据?
  • 尝试查找枚举类型 这是一个链接Enum Types

标签: java string types


【解决方案1】:

你可以使用switch 到 Java7...

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

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

或者你可以用 if 比较

if (type.equals(EmployeeType.A.toString()) {
    // do your stuff
} else if (type.equals(EmployeeType.B.toString()) {
    // etc...
}

【讨论】:

    【解决方案2】:

    你可以这样做:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-22
      • 2020-05-21
      • 1970-01-01
      • 2010-09-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多