Equals methods rely on catching ClassCastException rather than using instanceof 
check
-------------------------------------------------------------------------------------

                 Key: MATH-337
                 URL: https://issues.apache.org/jira/browse/MATH-337
             Project: Commons Math
          Issue Type: Improvement
            Reporter: Sebb
            Priority: Minor


Several of the equals methods rely on catching ClassCastException rather than 
using an instanceof check.

For example:
{code}
SimplexTableau.equals(Object){
  if (this == other) {
    return true;
  }
  if (other == null) {
    return false;
  }
  try {
      SimplexTableau rhs = (SimplexTableau) other;
      etc.
  } catch (ClassCastException ex) {
      return false;
  }
}
{code}

This is likely to be significantly slower if the cast fails. It would be 
cheaper to do the following:

{code}
SimplexTableau.equals(Object){
  if (this == other) {
    return true;
  }
  if (!(other instanceof SimplexTableau)) {
    return false;
  }
  SimplexTableau rhs = (SimplexTableau) other;
  etc.
}
{code}

Note that the null check is no longer needed; it is replaced by the instanceof 
check.


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