gpt4 book ai didi

Java 风格 : Variable declaration in a switch

转载 作者:行者123 更新时间:2023-12-03 22:21:48 27 4
gpt4 key购买 nike

以下代码无法编译,因为 eater 被定义了两次:

switch (vegetable) {
case TOMATO:
Eater eater = new Eater(Tomato.class, many parameters);
eater.eat(more parameters);
return true;

case POTATO:
Eater eater = new Eater(Potato.class, many parameters);
eater.eat(more parameters);
return true;

case CARROT:
doSomethingElse();
return true;
}

我应该:

  • 使用单独的变量 `tomatoEater` 和 `potatoEater`,使代码更难维护?
  • 在 `switch` 之前定义 `eater`,让更多人可以访问它?
  • 只在第一次定义 `eater`,导致潜在的混淆?
  • 添加大括号,使代码更冗长?
  • 有更好的主意吗?

最佳答案

我个人要么使用大括号,要么完全放弃局部变量:

new Eater(Potato.class, many parameters)
.eat(more parameters);

这样做的缺点是调试起来有点困难。显然这不是你的真实代码......这使得很难说出正确的事情。很可能正确的做法是实际上将案例主体分解为单独的方法。

关于Java 风格 : Variable declaration in a switch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3733011/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com