Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: stub

...

Noncompliant Code Example

Code Block
bgColor#FFcccc

class BadClone {
  HttpCookie[] cookies = new HttpCookie[20];
  public Object clone() throws CloneNotSupportedException {		
    final BadClone clone = (BadClone) super.clone();
    clone.deepCopy();
    return clone;
  }
  
  public void deepCopy() {
    if (cookies == null) {
      throw new NullPointerException();
    }
     
    // deep copy
    HttpCookie[] cookiesCopy = new HttpCookie[cookies.length];

    for (int i = 0; i < cookies.length; i++) {
      // manually create copy of each element in array
      cookiesCopy[i] = (HttpCookie) cookies[i].clone();
    }
  }
}

Compliant Solution

Code Block
bgColor#ccccff