当前位置: 首页 > 知识库问答 >
问题:

在java中使用多个if条件与返回语句的替代方法[关闭]

邬朗
2023-03-14

我有下面的代码,有太多的if语句。

public class Result {

    private Integer code;
    private String description;

}
if (...) {
            return new Result(1, "description-1");
        }

if (...) {
            return new Result(2, "description-2");
        }

if (...) {
            return new Result(3, "description-3");
        }

if (...) {
            return new Result(4, "description-4");
        }

if (...) {
            return new Result(5, "description-5");
        }

有没有其他方法可以让这更干净?

我有太多if语句的代码块。我想做得更干净。有没有其他方法可以做到这一点?

共有1个答案

东郭凯捷
2023-03-14

Java17开关可以帮助您编写更干净的代码。

return switch(i) {
    case 1 -> new Result(1, "description-1");
    case 2 -> new Result(1, "description-2");
    default -> 0; 
};
 类似资料:
  • 问题内容: 一个简单的问题,但是Google并没有提供太多帮助。 我有一个带很多条件的if语句(必须检查10或15个常量以查看是否存在任何常量。) 而不是这样写: 有没有办法格式化它 只是想知道是否有更简单的方法来编写此代码,对您的帮助表示赞赏。 编辑 :答案非常有帮助,但是一些人要求我添加更多细节,所以我会这样做以缓解他们的好奇心。我正在创建一个日期验证类,该类需要确保在只有30天的月份中天数不

  • 我正在做一个项目,帮助客人报名参加派对。 当事人必须存在于数据中 当然,想要的票的数量必须少于可用的票 我真的很难再添加一个条件——检查输入是否高于0。 我将整个for循环放入了另一个if语句中,正如您所看到的:if(ticketsWanted) 如果输入了低于1的内容,它会打印“请输入正数” 然而,它也打印了“这个派对不存在或者已经预订满了。”又来了... 基本上是在系统之后。出来println

  • null 代码如下所示: 和我想提高的班级: 我该怎么办?每个字段都在使用,但每个触发器都在使用。另外,这种情况有点特殊(OnFinalMethod需要参数)。基于上面的文章,我尝试重构这段代码,但没有成功。 你知道吗?:)

  • 问题内容: 可以说我有这个: 现在。如果bool1被评估为false,那么Java是否足够聪明来跳过检查bool2和bool2?Java甚至从左到右检查它们吗?我之所以这样问,是因为我在整理条件时将其内部条件“分类”(从左侧最便宜的条件开始)。现在我不确定这是否会给我带来任何性能上的好处,因为我不知道Java如何处理这个问题。 问题答案: 是的,Java(类似于其他主流语言)使用 惰性评估 短路,

  • 问题内容: 因此,我今天编写了一种方法,该方法结合了嵌套开关语句的使用,并且代码对我来说看起来很简洁明了,但是有人告诉我,嵌套开关语句通常不是最好的处理方法,因为它们可能会使更多的语句变得混乱。切换添加的语句。这是我的代码的示例: 因此,我的问题是,从本质上讲,什么是这些switch语句的合适替代方案? 问题答案: 我建议您用对过程的调用替换每个嵌套的switch语句,然后该过程将执行嵌套的swi