Java可选:更改值

chr*_*s01 2 java optional

我正在使用Java Optionals.

String in = "sam";
String ret = Optional.ofNullable (in).orElse ("NULL");  // "sam"
in = null;
ret = Optional.ofNullable (in).orElse ("NULL");         // "NULL"
Run Code Online (Sandbox Code Playgroud)

如果它不为null,是否可以扩展我的可选项以返回更改的值?

让我们说"#sam#"而不是"sam""NULL"在情况下null.

如果我已经改变了

in = "#" + in + "#" 
Run Code Online (Sandbox Code Playgroud)

它永远不会null,如果in == null它会返回"#null#"而不是"NULL".

Era*_*ran 9

你可以使用map:

String ret = Optional.ofNullable (in).map(s->'#'+s+'#').orElse ("NULL");
Run Code Online (Sandbox Code Playgroud)