【发布时间】:2020-08-09 05:03:36
【问题描述】:
我试图写尽可能少的行。 用Java重写它的最佳方法是什么? (假设我们有一个“公共枚举 A”)
我想有一种写法“如果某些东西不为空,则返回它,否则,继续”。 我查看了 Optional,但 Optional.of(...).ifPresent( v -> return v;) 不起作用,尽管我希望它起作用。
另外,如果你问我为什么要在 for 循环中更改数组,你可以认为有多个初始数组,我需要分别测试它们。
public A getAValue() {
int[] arr = new int[7];
A returnValue = null;
for (int i=0; i<10; i++) {
//change arr
returnValue = checkSomeCondition(arr);
if (returnValue != null) {
return returnValue;
}
//change arr again
returnValue = checkSomeCondition(arr);
if (returnValue != null) {
return returnValue;
}
//change arr yet again
returnValue = checkSomeCondition(arr);
if (returnValue != null) {
return returnValue;
}
}
return A.UNKNOWN;
}
public A checkSomeCondition(int[] arr) {
if (arr[0]==arr[1]) {
return arr[0]==2 ? A.VALUE_1 : A.VALUE_2;
}
return null;
}
【问题讨论】:
-
感谢您的帮助。我会研究解决方案。同时,这里是代码:github.com/imosescu/XsiO。这是一个井字游戏:)