很多if语句的快速替代品

use*_*547 6 java if-statement

我是java的初学者,我正在制作一个简单的程序,我输入的东西,如果我输入的内容匹配"数据库"中的一个东西,那么它将打印一些文本.是否有更简单的方法来检查这个而不是这样做:

int 1;
int 2;
int 3;
Run Code Online (Sandbox Code Playgroud)

等等

if([USER INPUT].equals("1")) {
    System.out.println("TEST");
}
Run Code Online (Sandbox Code Playgroud)

400次

Anu*_*oob 10

使用switch语句或HashMap.

Switch语句:可读,但与if-else链类似地编译(如果不相同).

switch([USER_INPUT]) {
    case 1:
        System.out.println("TEST");
        break;
    case 2:
        System.out.println("HELLO");
        break;
    // And so on.
}
Run Code Online (Sandbox Code Playgroud)

哈希映射:更具可读性和简单性.这是首选.

// Initialization.
Map<Integer,String> map = new HashMap<Integer,String>();
map.put(1,"TEST");
map.put(2,"HELLO");

// Printing.
String s = map.get(USER_INPUT);
if (s == null)
    System.out.println("Key doesn't exist.");
System.out.println(s);
Run Code Online (Sandbox Code Playgroud)

  • 为什么这比IF更好? (3认同)