[ 
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.

Reply via email to