- Java.lang 包类
- Java.lang - 首页
- Java.lang - Boolean
- Java.lang - Byte
- Java.lang - Character
- Java.lang - Character.Subset
- Java.lang - Character.UnicodeBlock
- Java.lang - Class
- Java.lang - ClassLoader
- Java.lang - Compiler
- Java.lang - Double
- Java.lang - Enum
- Java.lang - Float
- Java.lang - InheritableThreadLocal
- Java.lang - Integer
- Java.lang - Long
- Java.lang - Math
- Java.lang - Number
- Java.lang - Object
- Java.lang - Package
- Java.lang - Process
- Java.lang - ProcessBuilder
- Java.lang - Runtime
- Java.lang - RuntimePermission
- Java.lang - SecurityManager
- Java.lang - Short
- Java.lang - StackTraceElement
- Java.lang - StrictMath
- Java.lang - String
- Java.lang - StringBuffer
- Java.lang - StringBuilder
- Java.lang - System
- Java.lang - Thread
- Java.lang - ThreadGroup
- Java.lang - ThreadLocal
- Java.lang - Throwable
- Java.lang - Void
- Java.lang 包补充内容
- Java.lang - 接口
- Java.lang - 错误
- Java.lang - 异常
- Java.lang 包有用资源
- Java.lang -有用资源
- Java.lang - 讨论
Java Object clone() 方法
描述
Java Object clone() 方法创建一个并返回此对象的副本。 “副本”的确切含义可能取决于对象的类。总体意图是,对于任何对象 x,表达式:
x.clone() != x
将为真,并且表达式:
x.clone().getClass() == x.getClass()
将为真,但这些并非绝对要求。虽然通常情况下:
x.clone().equals(x)
为真,但这并非绝对要求。
声明
以下是java.lang.Object.clone() 方法的声明
protected Object clone()
参数
无
返回值
此方法返回此实例的克隆。
异常
CloneNotSupportedException −如果对象的类不支持 Cloneable 接口。覆盖 clone 方法的子类也可以抛出此异常以指示无法克隆实例。
获取 GregorianCalendar 对象克隆示例
以下示例显示了 java.lang.Object.clone() 方法的使用。在这个程序中,我们创建了一个 GregorianCalendar 实例,然后使用 clone() 方法,我们使用之前的对象创建了另一个对象。打印了两个对象的时间。
package com.tutorialspoint;
import java.util.GregorianCalendar;
public class ObjectDemo {
public static void main(String[] args) {
// create a gregorian calendar, which is an object
GregorianCalendar cal = new GregorianCalendar();
// clone object cal into object y
GregorianCalendar y = (GregorianCalendar) cal.clone();
// print both cal and y
System.out.println(cal.getTime());
System.out.println(y.getTime());
}
}
输出
让我们编译并运行上述程序,这将产生以下结果:
Fri May 31 13:50:19 IST 2024 Fri May 31 13:50:19 IST 2024
获取 ArrayList 对象克隆示例
以下示例显示了 java.lang.Object.clone() 方法的使用。在这个程序中,我们创建了一个 ArrayList 实例,然后使用 clone() 方法,我们使用之前的对象创建了另一个对象。打印了两个对象。
package com.tutorialspoint;
import java.util.ArrayList;
import java.util.List;
public class ObjectDemo {
public static void main(String[] args) {
// create a ArrayList, which is an object
ArrayList<String> list = new ArrayList<>();
// add value to the list
list.add("Tutorialspoint");
// clone object list into object y
List<String> y = (List) list.clone();
// print both list and y
System.out.println(list);
System.out.println(y);
}
}
输出
让我们编译并运行上述程序,这将产生以下结果:
[Tutorialspoint] [Tutorialspoint]
获取 HashMap 对象克隆示例
以下示例显示了 java.lang.Object.clone() 方法的使用。在这个程序中,我们创建了一个 HashMap 实例,然后使用 clone() 方法,我们使用之前的对象创建了另一个对象。打印了两个对象。
package com.tutorialspoint;
import java.util.HashMap;
public class ObjectDemo {
public static void main(String[] args) {
// create a HashMap, which is an object
HashMap<String, String> map = new HashMap<>();
// add a value to the map
map.put("t", "tutorialspoint");
// clone object map into object y
HashMap<String, String> y = (HashMap)map.clone();
// print both map and y
System.out.println(map);
System.out.println(y);
}
}
输出
让我们编译并运行上述程序,这将产生以下结果:
{t=tutorialspoint}
{t=tutorialspoint}
java_lang_object.htm
广告