java .orElse
时间: 2023-12-19 21:32:26 浏览: 34
`orElse(T other)`是Java中Optional类的一个方法,用于获取Optional对象中的值。如果Optional对象中有值,则返回该值,否则返回传入的默认值other。
以下是一个示例代码:
```java
Optional<String> opt1 = Optional.of("first");
String result1 = opt1.orElse("second");
System.out.println(result1); // 输出: "first"
Optional<String> opt2 = Optional.empty();
String result2 = opt2.orElse("second");
System.out.println(result2); // 输出: "second"
```
在上面的示例中,`opt1`是一个包含值"first"的Optional对象,调用`orElse("second")`方法后,返回的是"first"。而`opt2`是一个空的Optional对象,调用`orElse("second")`方法后,返回的是传入的默认值"second"。
总结:`orElse(T other)`方法用于获取Optional对象中的值,如果Optional对象为空,则返回传入的默认值。
相关问题
Optional.of.orElse
`Optional.of.orElse`是Java 8中的一个方法,它可以用于创建一个非空的Optional对象,并在Optional对象为空时提供一个默认值。具体来说,`Optional.of`方法可以将一个非空的值包装成Optional对象,而`orElse`方法则可以在Optional对象为空时提供一个默认值。
下面是一个例子,假设我们有一个可能为空的字符串,我们可以使用`Optional.of.orElse`方法来获取它的值或者提供一个默认值:
```java
String str = null;
String result = Optional.ofNullable(str).orElse("default");
System.out.println(result); // 输出:default
```
在上面的例子中,我们使用`Optional.ofNullable`方法来创建一个Optional对象,如果字符串`str`为空,则返回一个空的Optional对象。然后我们使用`orElse`方法来获取Optional对象的值,如果Optional对象为空,则返回默认值`"default"`。
stream().orElse
stream().orElse是Java 8中Stream API提供的一个方法,用于在流中没有元素的情况下提供一个默认值。如果流中有元素,则返回流中的第一个元素;如果流为空,则返回指定的默认值。
该方法的语法如下:
```
T orElse(T other)
```
其中,T表示流中元素的类型,other表示默认值。
使用stream().orElse方法时,如果流中有元素,则返回第一个元素;如果流为空,则返回指定的默认值。
例如,假设有一个整数流,我们想要获取流中的第一个元素,如果流为空,则返回默认值-1,可以使用stream().orElse方法实现:
```java
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
int firstNumber = numbers.stream().findFirst().orElse(-1);
System.out.println(firstNumber); // 输出:1
List<Integer> emptyList = new ArrayList<>();
int defaultValue = emptyList.stream().findFirst().orElse(-1);
System.out.println(defaultValue); // 输出:-1
```