比switch case更好的方式是使用多态性或者策略模式。下面是一个示例代码:
interface Strategy {
void execute();
}
class StrategyA implements Strategy {
@Override
public void execute() {
System.out.println("Executing Strategy A");
}
}
class StrategyB implements Strategy {
@Override
public void execute() {
System.out.println("Executing Strategy B");
}
}
class StrategyC implements Strategy {
@Override
public void execute() {
System.out.println("Executing Strategy C");
}
}
class Context {
private Strategy strategy;
public void setStrategy(Strategy strategy) {
this.strategy = strategy;
}
public void executeStrategy() {
strategy.execute();
}
}
public class Main {
public static void main(String[] args) {
Context context = new Context();
// 使用策略A
context.setStrategy(new StrategyA());
context.executeStrategy();
// 使用策略B
context.setStrategy(new StrategyB());
context.executeStrategy();
// 使用策略C
context.setStrategy(new StrategyC());
context.executeStrategy();
}
}
在这个例子中,我们定义了一个策略接口Strategy
,然后实现了几个具体的策略类StrategyA
、StrategyB
和StrategyC
。Context
类负责执行具体的策略。
通过使用策略模式,我们可以避免使用大量的switch case语句。当需要增加新的策略时,只需实现新的策略类即可,而不需要修改原有的代码。这样可以提高代码的可维护性和可扩展性。