fork download
  1. import java.util.*;
  2. import java.lang.*;
  3. import java.io.*;
  4.  
  5. import java.util.Arrays;
  6.  
  7. class Ideone {
  8. public static void main (String[] args) throws java.lang.Exception {
  9. Data[] data = new Data[10];
  10. for (int i = 0; i < data.length; ++i) {
  11. data[i] = new Data(i);
  12. }
  13.  
  14. System.out.println(Arrays.toString(data));
  15. Data singleEntryInData = data[0];
  16.  
  17. Data[] copy = Arrays.copyOf(data, data.length);
  18.  
  19. System.out.println(Arrays.toString(copy));
  20.  
  21. singleEntryInData.setValue(100);
  22. System.out.println(Arrays.toString(copy));
  23. }
  24. }
  25.  
  26. class Data implements Cloneable {
  27. int value;
  28.  
  29. public Data(Data that) {
  30. this.setValue(that.getValue());
  31. }
  32.  
  33. public Data(int value) {
  34. this.setValue(value);
  35. }
  36.  
  37. public void setValue(int value) {
  38. this.value = value;
  39. }
  40.  
  41. public int getValue() {
  42. return this.value;
  43. }
  44.  
  45. @Override
  46. public String toString() {
  47. return "{val=" + this.getValue() + "}";
  48. }
  49.  
  50. @Override
  51. public Object clone() {
  52. return new Data(this);
  53. }
  54. }
Success #stdin #stdout 0.05s 27844KB
stdin
Standard input is empty
stdout
[{val=0}, {val=1}, {val=2}, {val=3}, {val=4}, {val=5}, {val=6}, {val=7}, {val=8}, {val=9}]
[{val=0}, {val=1}, {val=2}, {val=3}, {val=4}, {val=5}, {val=6}, {val=7}, {val=8}, {val=9}]
[{val=100}, {val=1}, {val=2}, {val=3}, {val=4}, {val=5}, {val=6}, {val=7}, {val=8}, {val=9}]