我有一個關於將一個鏈狀態重寫爲流風格的問題。是否可以使用流API簡化這種條件重寫?
我們有2場的實體:
class Test {
private boolean isActive = false;
private Status status;
//getters and setters
}
,我們還有條件:
private static boolean isOneAndActiveAndDeprecated(List<Test> test) {
return CollectionUtils.size(test) == 1
&& test.get(0).isActive()
&& Status.DEPRECATED == test.get(0).getStatus();
}
列表可以來空或非空。所以我們需要檢查這個。 列表大小應該是1或者可以爲空,不能超過1,根據此方法之前的業務邏輯是不可能的。
我不確定它是否很好的實現。從一方面來說,這個條件不太難理解,但從另一方面來說,我們有3個「AND」運算符,在我看來這裏不是很清楚。我想可以簡化這種方法。
謝謝。
假設進入的列表總是非空是否安全? –
列表大小應該是1?你爲什麼需要在這裏流? – vins
@vins提出了一個很好的觀點 - 這是用來傳遞具有多個元素的列表,並且您只想檢查列表中是否有1個元素?我想我們需要更多的用例信息才能給出最佳答案。 –