[
https://issues.apache.org/jira/browse/FLINK-3001?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15013511#comment-15013511
]
Hubert Czerpak commented on FLINK-3001:
---------------------------------------
Optionals shouldn't be stored at all. Its purpose in Java8 is to be used as
return value from functions. But whenever you want to use its value (e.g. store
in a variable) you need to extract it from the optional. It may be different
than optionals in other languages but Oracle recommends avoiding
identity-sensitive operations. E.g. in cases of sorting I think optionals
shouldn't be on the sorted collection but their values.
> Add Support for Java 8 Optional type
> ------------------------------------
>
> Key: FLINK-3001
> URL: https://issues.apache.org/jira/browse/FLINK-3001
> Project: Flink
> Issue Type: New Feature
> Components: Java API
> Affects Versions: 0.10.0
> Reporter: Stephan Ewen
> Priority: Minor
> Fix For: 1.0.0
>
>
> Using {{Optional}} is a good way to handle nullable fields.
> The missing support for null fields in tuples can be easily handled by using
> {{Optional<T>}} for nullable fields and {{T}} directly for non nullable
> fields.
> That also retains best serialization efficiency.
> Since we cannot always assume the presence of {{Optional}} (only introduced
> in Java8), the TypeExtractor needs to analyze and create that TypeInfo with
> reflection.
> Further more, we need to add the OptionalTypeInfo to the flink-java8 project
> and people need to include flink-java8 in their project if they want to use
> the Optional.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)