Java 8 之Optional的简单使用
NPE
(NullPointerException
)伴随程序员的一生,优雅是程序员一生的追求
package studyjava;
import java.util.Optional;
public class OptionalTest {
public static void main(String[] args) {
String nonNullValue = "this is a nonNullValue";
String nullValue = null;
String defaultValue1 = Optional.ofNullable(nullValue).orElse("defaultValue1");
System.out.println(defaultValue1);
String defaultValue2 = Optional.ofNullable(nullValue).orElse(getDefaultValue2());
System.out.println(defaultValue2);
String defaultValue3 = Optional.ofNullable(nullValue).orElseGet(() -> getDefaultValue3());
System.out.println(defaultValue3);
Optional.ofNullable(nullValue).ifPresent(value -> System.out.println("--value is present(not null) : " + value));
Optional.ofNullable(nonNullValue).ifPresent(value -> System.out.println("--value is present(not null) : " + value));
String tmpValue = Optional.ofNullable(nonNullValue).get();
System.out.println(tmpValue);
Optional.ofNullable(nullValue)
.orElseThrow(() -> new RuntimeException("Data is not found in database."));
}
private static String getDefaultValue2() {
return "defaultValue2";
}
private static String getDefaultValue3() {
return "defaultValue3";
}
}