java.util.Object.clone() 方法用于创建并返回该对象的副本。 "复制"的确切含义可能取决于对象的类。一般意图是,对于任何对象 x,表达式:
x.clone() != x
将为 true,并且表达式:
x.clone().getClass() == x.getClass()
将为 true,但这些不是绝对要求。虽然通常情况是:
x.clone().equals(x)
将为 true,但这不是绝对要求。
语法
protected Object clone()
throws CloneNotSupportedException
参数
不需要参数。
返回值
返回此实例的克隆。
异常
如果对象的类不支持 Cloneable 接口,则抛出 CloneNotSupportedException。重写clone方法的子类也可以抛出此异常,以指示实例无法克隆。
示例:
在下面的示例中, java.util.Object.clone() 方法返回给定对象的克隆。
import java.lang.*;
public class MyClass {
public static void main(String[] args) {
//创建对象
int obj1[] = {10, 5, 25, -10, -30};
//打印obj1内容
System.out.print("obj1 contains:");
for(int i: obj1)
System.out.print(" " + i);
//将 obj1 克隆到 obj2 中
int obj2[] = obj1.clone();
//打印obj2内容
System.out.print("\nobj2 contains:");
for(int j: obj2)
System.out.print(" " + j);
}
}
上述代码的输出将是:
obj1 contains: 10 5 25 -10 -30
obj2 contains: 10 5 25 -10 -30