Optional |
Java 8's Optional | Guava's Optional | Optio | |
---|---|---|---|---|
Required JDK version | 1.7 | 1.8 | 1.6 | 1.7 |
Android-compatible | Yes | Only for API 24 (Nougat) and up | Yes | Yes |
Serializable | Yes | No | Yes | No |
Support for primitive types | Yes, all of them except boolean |
Only for int , double , and long |
None | None |
Support for functional use-cases | Partially | Yes, including filter() , flatMap() , etc. |
None | None |
absent()
instead ofempty()
. Why?or()
instead oforElse()
.orNull()
instead oforElse(null)
.ifPresentOrElse(Consumer, Function)
.OptionalByte
,OptionalShort
,OptionalFloat
, andOptionalChar
.
Include Optional
to your Gradle project by adding it as a dependency in your build.gradle
like so:
repositories {
maven { url "https://jitpack.io" }
}
dependencies {
compile 'com.hadisatrio:Optional:v1.0.1'
}
Any kind of contributions will be appreciated. PR away!
Optional
is published under the MIT license.
p.s., Please let me know if you're using Optional
in your projects. Drop an email at
hi[you-know-what-to-put-here]hadisatrio.com. ;)