- 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
广告