[
https://issues.apache.org/jira/browse/THRIFT-452?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12761465#action_12761465
]
David Reiss commented on THRIFT-452:
------------------------------------
I agree that it is weird that we initialize the enum to an invalid value.
Maybe the default value for enums should default to the first declared value,
rather than 0?
> Gotcha with Java enums not having a zero value
> ----------------------------------------------
>
> Key: THRIFT-452
> URL: https://issues.apache.org/jira/browse/THRIFT-452
> Project: Thrift
> Issue Type: Bug
> Components: Compiler (Java)
> Reporter: Ben Maurer
>
> In the java library, if you define an enum that does not have a value
> declared for 0, it seems like you can get into a strange situation. In java,
> the field for the enum will be set to zero, but isset will be true. Compare
> to a language like Python where the value will be None, causing isset to
> effectively be false. When the value is deserialized, Java will check if the
> enum value is valid, find that it is not, and throw an exception.
> Any thoughts on the best behavior?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.