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

ASF GitHub Bot commented on THRIFT-3868:
----------------------------------------

Github user asfgit closed the pull request at:

    https://github.com/apache/thrift/pull/1106


> Java struct equals should do identity check before field comparison
> -------------------------------------------------------------------
>
>                 Key: THRIFT-3868
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3868
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Java - Compiler
>    Affects Versions: 0.9.3, 0.10.0
>            Reporter: Mike Rettig
>            Priority: Minor
>
> The identity check is cheap and should be done before comparing fields of a 
> struct. Idiomatic equals methods always include this check especially if the 
> field by field comparison can be expensive. 
> Check to add:
> if(that == this) return true;
> 1864   out << indent() << "public boolean equals(" << tstruct->get_name() << 
> " that) {" << endl;
> 1865   indent_up();
> 1866   out << indent() << "if (that == null)" << endl << indent() << "  
> return false;" << endl;
> INSERT IDENTITY CHECK HERE
> 1867 
> 1868   const vector<t_field*>& members = tstruct->get_members();
> 1869   vector<t_field*>::const_iterator m_iter;
> 1870   for (m_iter = members.begin(); m_iter != members.end(); ++m_iter) {
> 1871     out << endl;
> 1872 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to