用java克隆一个object类型的对象
时间: 2024-03-18 19:42:30 浏览: 68
要克隆一个`Object`类型的对象,需要实现`Cloneable`接口并重写`clone()`方法。以下是一个示例代码:
```
public class MyClass implements Cloneable {
private String name;
public MyClass(String name) {
this.name = name;
}
@Override
protected Object clone() throws CloneNotSupportedException {
return super.clone();
}
public static void main(String[] args) {
MyClass obj1 = new MyClass("object1");
try {
MyClass obj2 = (MyClass) obj1.clone();
System.out.println(obj1 == obj2); // false
System.out.println(obj1.equals(obj2)); // true
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
}
}
```
在上面的代码中,`MyClass`类实现了`Cloneable`接口,并重写了`clone()`方法。`clone()`方法的返回值类型为`Object`,因此需要进行强制类型转换。在`main()`方法中,先创建一个`MyClass`类型的对象`obj1`,然后使用`clone()`方法克隆`obj1`,得到一个新的对象`obj2`。最后,使用`==`运算符比较`obj1`和`obj2`,返回`false`,表示它们是两个不同的对象;使用`equals()`方法比较`obj1`和`obj2`,返回`true`,表示它们在内容上是相同的。
阅读全文