相关疑难解决方法(0)

有没有人不同意这句话:"使用开关是不好的OOP风格"?

我已经看到它写在stackoverflow上的多个线程/注释中,使用switch的只是糟糕的OOP风格.就个人而言,我不同意这一点.

在许多情况下,您无法向enum要打开的类添加代码(即方法),因为您无法控制它们,可能它们位于第三方jar文件中.还有其他一些情况,将功能放在枚举本身是一个坏主意,因为它违反了一些关注点分离的考虑因素,或者它实际上是其他东西以及枚举的函数.

最后,交换机简洁明了:

boolean investable;
switch (customer.getCategory()) {
    case SUB_PRIME:
    case MID_PRIME:
        investible = customer.getSavingsAccount().getBalance() > 1e6; break;
    case PRIME:
        investible = customer.isCeo(); break;
}
Run Code Online (Sandbox Code Playgroud)

我不是在捍卫每一个用途,switch我不是说它总是要走的路.但在我看来,像"Switch是代码味道"这样的陈述是错误的.还有其他人同意吗?

java oop switch-statement

26
推荐指数
9
解决办法
9807
查看次数

标签 统计

java ×1

oop ×1

switch-statement ×1