用Java重写条件语句

前端之家收集整理的这篇文章主要介绍了用Java重写条件语句前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我有下面的代码,它基本上确定一些条件匹配,然后分配布尔值,然后运行一些代码.如果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语句.这可能会加快调试速度.

猜你在找的Java相关文章