加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

用Java重写条件语句

发布时间:2020-12-14 23:31:53 所属栏目:Java 来源:网络整理
导读:假设我有下面的代码,它基本上确定一些条件匹配,然后分配布尔值,然后运行一些代码.如果booleanValue为false,则抛出异常.如果booleanValue为false而不运行其余代码,我希望它立即抛出异常怎么办?如果我只是将第二个条件语句放入第一个条件语句中,则会有重复的
假设我有下面的代码,它基本上确定一些条件匹配,然后分配布尔值,然后运行一些代码.如果booleanValue为false,则抛出异常.如果booleanValue为false而不运行其余代码,我希望它立即抛出异常怎么办?如果我只是将第二个条件语句放入第一个条件语句中,则会有重复的代码.请告诉我一个聪明的方法(我已修改代码看起来像我的实际代码).
boolean booleanValue = false;
Permission value;

if (someCondition) {
   value = getPermission_1();
   booleanValue = someMethod(value);
   useValue_1(value);
}
else {
   value = getPermission_2();
   booleanValue = anotherMethod(value);

   useValue_2(value);
}

if (!booleanValue) {
   throw Exception();
}

解决方法

如何消除布尔变量?您可以像这样重写代码:
if (someCondition) {
   if (!someMethod()) {
     throw new Exception();
   }
   some codes...
}
else {
   if (!anotherMethod()) {
     throw new Exception();
   }
   some codes...
}

这对我来说看起来更容易,但这样的事情是品味的问题……

额外优势:如果异常以堆栈跟踪结束,您就知道条件是什么,因为您有两个不同的throw语句.这可能会加快调试速度.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读