protected Deep getDeep(){ //创建流对象 ByteArrayInputStream bis = null; ObjectInputStream ois = null; ByteArrayOutputStream bos = null; ObjectOutputStream oos = null; Deep deep = null;
try { //写入 bos = new ByteArrayOutputStream(); oos = new ObjectOutputStream(bos); oos.writeObject(this);
//读出 bis = new ByteArrayInputStream(bos.toByteArray()); ois = new ObjectInputStream(bis); deep = (Deep) ois.readObject(); } catch (Exception e) { e.printStackTrace(); } finally { try { bis.close(); bos.close(); ois.close(); oos.close(); } catch (IOException e) { e.printStackTrace(); } } return deep; }
测试方法
1 2 3 4 5 6 7 8 9 10 11 12 13
//测试方式1 Deep deep1 = new Deep(); Deep deep2 = (Deep) deep1.clone(); deep1.cloneArr[0] = "peed"; System.out.println(deep1.cloneArr[0]); System.out.println(deep2.cloneArr[0]);
//测试方式2 Deep deep3 = new Deep(); Deep deep4 = deep3.getDeep(); deep3.cloneArr[0] = "pig"; System.out.println(deep3.cloneArr[0]); System.out.println(deep4.cloneArr[0]);