[ 
https://issues.apache.org/jira/browse/THRIFT-452?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12698415#action_12698415
 ] 

Bryan Duxbury commented on THRIFT-452:
--------------------------------------

That's because you didn't make your foo field optional. If you make it 
optional, the isset will be checked. Personally, I think the "default" 
requiredness is confusing - this is the problem you end up with.

> 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