Skip to content

Instantly share code, notes, and snippets.

@nobeans
Last active January 15, 2016 03:14
Show Gist options
  • Save nobeans/90a5f643f86c6668e097 to your computer and use it in GitHub Desktop.
Save nobeans/90a5f643f86c6668e097 to your computer and use it in GitHub Desktop.
Java8のOptional
def opt = Optional.of("HOGE")
assert opt.get() == "HOGE"
assert opt.isPresent()
assert opt.map { it * 2 }.get() == "HOGEHOGE"
assert opt.flatMap { Optional.of(it * 2) }.get() == 'HOGEHOGE'
assert opt.map { null } == Optional.empty()
// Optional.of(null) // => NPE
def nullOpt = Optional.ofNullable(null)
assert nullOpt == Optional.empty()
assert nullOpt.isPresent() == false
assert nullOpt.orElse("FOO") == "FOO"
assert nullOpt.map { it * 2 } == Optional.empty()
assert nullOpt.flatMap { Optional.of(it * 2) } == Optional.empty()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment