Java:如何将switch语句的大小写转换为单独的文件?

Gaj*_*ini 1 java

我有一个带有switch语句的Java方法.

它工作正常,但我有很多情况,可能是20或更多,如下所示.

switch (result)  // result is of type Enum
{
    case 1:
        break;

    case 2:
        break;

    //----
    //----
    //----

    default:
        break;
}  // End of Switch 
Run Code Online (Sandbox Code Playgroud)

请告诉我如何将这些案例转移到另一个文件中.

Wil*_*ung 6

不,Java没有像C那样的#include工具.

你最好只是重构你的逻辑.您要求的事实告诉我您可能需要一些更好的抽象.

但是,至少你可以这样做:

public class HandleCases {

    public static Result handleCase1(...parameters...) {
        ...
    }

    public static Result handleCase2(...parameters...) {
        ...
    }

    public static Result handleCase3(...parameters...) {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

然后:

Result r = null;

switch(flag) {

    case 1:
        r = HandleCases.handleCase1( ... );
        break;

    case 2:
        r = HandleCases.handleCase1( ... );
        break;

    case 3:
        r = HandleCases.handleCase1( ... );
        break;
    ...
 }
Run Code Online (Sandbox Code Playgroud)

结果持有人可以获得您需要的任何值.

但总的来说这是拼凑而成,你的设计可能会使用一些工作.