我有一些对象的列表。这些对象有一些字段和其他随时间变化的内容。我想获取列表中某些元素,这些元素具有等于true
的某些值。然后我想将该对象用在其他地方。
当列表中不包含具有该元素的对象时,我会得到一个异常并且我的应用程序会崩溃。所以我正在使用一段非常奇怪的代码来避免这种情况,我想知道是否有比这更简单和更好的方法。
public class CustomObject{
private String name;
private boolean booleanValue;
//Getters and setters...
}
//Somewhere else I have the list of objects.
List<CustomObject> customList = new ArrayList<>();
//Now... here I am using this strange piece of code I want to know how to change.
if (customList.stream().filter(CustomObject::getBooleanValue).findAny().isPresent()) {
customList.stream().filter(CustomObject::getBooleanValue).findAny().get().... //some custom stuff here.
}
正如您所看到的,我在这里写了一些非常丑陋的代码:重复调用同一个方法。我尝试了一些类似于
的方法:CustomObject customObject = customList.stream().filter.....
我希望检查对象不为空,但它并没有按照我的期望执行。
Optional
存储在变量中呢? - Sotirios DelimanolisStream
中booleanValue
为true
的对象是否只有一个? - Paul Boddington