uba*_*jea 2 java syntax equals
我有一些像这样的代码:
if (input.equals("north") || input.equals("n")) { direction = Cardinals.NORTH; }
Run Code Online (Sandbox Code Playgroud)
是否有任何方法可以使用更简洁的语法,如下所示:
if (input.equals("north" || "n") { direction = Cardinals.NORTH; }
Run Code Online (Sandbox Code Playgroud)
我知道这不起作用,但我希望有一些相同的东西?
从Java 7开始并假设input是一个String,您可以像这样切换字符串文字
switch(input) {
case "n":
case "north":
    direction = Cardinals.NORTH; 
    break;
case "s":
...
}
Run Code Online (Sandbox Code Playgroud)
等等.很可读!
编辑:正如在评论中提出@DaoWen,如果您提取此开关到它自己的方法(比如findCardinal(input)),你可以删除break;,只是return正确的Cardinal,这将导致一个不错的一行在您需要的方向,如下所示:direction = findCardinal(input);.