克隆JAVA对象的方法、装置、电子设备及存储介质制造方法及图纸

技术编号:38105329 阅读:14 留言:0更新日期:2023-07-06 09:26
本申请涉及应用程序技术领域,特别涉及一种克隆JAVA对象的方法、装置、电子设备及存储介质,其中,方法包括:获取当前待克隆需求;若当前待克隆需求为对象类需要克隆功能,则在类定义时声明实现泛型接口类,并将泛型输入为对象类;若当前待克隆需求为对象需要克隆,则直接使用对象调用无参克隆方法。由此,解决了JAVA对象克隆时必须重写JAVA顶层类java.lang.Object的clone方法的问题,减少了当前在实现对象克隆时的必要步骤“重写clone方法”,减少重复代码、提高效率、提高代码质量。提高代码质量。提高代码质量。

【技术实现步骤摘要】
克隆JAVA对象的方法、装置、电子设备及存储介质


[0001]本申请涉及应用程序
,特别涉及一种克隆JAVA对象的方法、装置、电子设备及存储介质。

技术介绍

[0002]在JAVA研发过程中,经常需要对一个对象进行克隆,形成两个不同的对象,但是保持对象的属性相等,进而避免在操作对象时互相干扰。
[0003]当前在实现对象克隆时有两个必要步骤对象类需要实现JAVA提供的java.lang.Cloneable接口。此接口起到标记作用,内部没有任何方法实现。对象类需要重写JAVA的顶层类java.lang.Object的clone方法,并且在方法体内部使用super关键字(JAVA语言内部关键字,代表父类、上层类)调用Object类的clone方法来获取对象的克隆对象。
[0004]大量的对象需要克隆时,研发人员就需要为每一个对象类重写clone方法,就会出现大量的重复代码,效率低下,而且还有可能出现错误,亟待解决。

技术实现思路

[0005]本申请提供一种克隆JAVA对象的方法、装置、电子设备及存储介质,以解决了JAVA对象克隆时必须重写JAVA顶层类java.lang.Object的clone方法的问题,减少了当前在实现对象克隆时的必要步骤“重写clone方法”,减少重复代码、提高效率、提高代码质量。
[0006]本申请第一方面实施例提供一种克隆JAVA对象的方法,包括以下步骤:获取当前待克隆需求;若所述当前待克隆需求为对象类需要克隆功能,则在类定义时声明实现泛型接口类,并将泛型输入为所述对象类;若所述当前待克隆需求为对象需要克隆,则直接使用所述对象调用无参克隆方法。
[0007]可选地,在一些实施例中,在获取所述当前待克隆需求之前,还包括:定义一个泛型接口类;在所述泛型接口类添加返回值类型为泛型的default类型的无参数克隆方法。
[0008]可选地,在一些实施例中,所述无参数克隆方法内部通过JAVA反射获取java.lang.Object类的clone方法。
[0009]可选地,在一些实施例中,将this关键字作为参数,调用获取到的clone方法的invoke方法,并将执行结果类型强制转换为泛型,作为所述无参数克隆方法的返回值。
[0010]可选地,在一些实施例中,所述泛型接口类继承JAVA提供的java.lang.Cloneable接口类。
[0011]本申请第二方面实施例提供一种克隆JAVA对象的装置,包括:获取模块,用于获取当前待克隆需求;输入模块,在所述当前待克隆需求为对象类需要克隆功能时,在类定义时声明实现泛型接口类,并将泛型输入为所述对象类;调用模块,在所述当前待克隆需求为对象需要克隆时,直接使用所述对象调用无参克隆方法。
[0012]可选地,在一些实施例中,在获取所述当前待克隆需求之前,所述获取模块,还用
于:定义一个泛型接口类;在所述泛型接口类添加返回值类型为泛型的default类型的无参数克隆方法。
[0013]可选地,在一些实施例中,所述无参数克隆方法内部通过JAVA反射获取java.lang.Object类的clone方法。
[0014]可选地,在一些实施例中,上述的克隆JAVA对象的方法,将this关键字作为参数,调用获取到的clone方法的invoke方法,并将执行结果类型强制转换为泛型,作为所述无参数克隆方法的返回值。
[0015]可选地,在一些实施例中,所述泛型接口类继承JAVA提供的java.lang.Cloneable接口类。
[0016]本申请第三方面实施例提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如上述实施例所述的克隆JAVA对象的方法。
[0017]本申请第四方面实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以用于实现如上述实施例所述的克隆JAVA对象的方法。
[0018]由此,通过获取当前待克隆需求,在当前待克隆需求为对象类需要克隆功能,则在类定义时声明实现泛型接口类,并将泛型输入为对象类,并并在当前待克隆需求为对象需要克隆,则直接使用对象调用无参克隆方法。由此,解决了JAVA对象克隆时必须重写JAVA顶层类java.lang.Object的clone方法的问题,减少了当前在实现对象克隆时的必要步骤“重写clone方法”,减少重复代码、提高效率、提高代码质量。
[0019]本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
[0020]本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0021]图1为根据本申请实施例提供的克隆JAVA对象的方法的流程图;
[0022]图2为根据本申请一个具体实施例提供的克隆JAVA对象的方法的流程图;
[0023]图3为根据本申请实施例提供的克隆JAVA对象的装置的方框示意图;
[0024]图4为根据本申请实施例提供的电子设备的结构示意图。
具体实施方式
[0025]下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
[0026]下面参考附图描述本申请实施例的克隆JAVA对象的方法、装置、电子设备及存储介质。针对上述
技术介绍
中提到的JAVA对象克隆时必须重写JAVA顶层类java.lang.Object的clone方法的问题,本申请提供了一种克隆JAVA对象的方法,在该方法中,通过获取当前待克隆需求,在当前待克隆需求为对象类需要克隆功能,则在类定义时声明实现泛型接口类,并将泛型输入为对象类,并并在当前待克隆需求为对象需要克隆,则直接使用对象调用
无参克隆方法。由此,解决了JAVA对象克隆时必须重写JAVA顶层类java.lang.Object的clone方法的问题,减少了当前在实现对象克隆时的必要步骤“重写clone方法”,减少重复代码、提高效率、提高代码质量。
[0027]具体而言,图1为本申请实施例所提供的一种克隆JAVA对象的方法的流程示意图。
[0028]如图1所示,该克隆JAVA对象的方法包括以下步骤:
[0029]在步骤S101中,获取当前待克隆需求。
[0030]可选地,在一些实施例中,在获取当前待克隆需求之前,还包括:定义一个泛型接口类;在泛型接口类添加返回值类型为泛型的default类型的无参数克隆方法。
[0031]可选地,在一些实施例中,无参数克隆方法内部通过JAVA反射获取java.lang.Object类的clone方法。
[0032]可选地,在一些实施例中,泛型接口类继承JA本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种克隆JAVA对象的方法,其特征在于,包括以下步骤:获取当前待克隆需求;若所述当前待克隆需求为对象类需要克隆功能,则在类定义时声明实现泛型接口类,并将泛型输入为所述对象类;若所述当前待克隆需求为对象需要克隆,则直接使用所述对象调用无参克隆方法。2.根据权利要求1所述的方法,其特征在于,在获取所述当前待克隆需求之前,还包括:定义一个泛型接口类;在所述泛型接口类添加返回值类型为泛型的default类型的无参数克隆方法。3.根据权利要求2所述的方法,其特征在于,所述无参数克隆方法内部通过JAVA反射获取java.lang.Object类的clone方法。4.根据权利要求3所述的方法,其特征在于,还包括:将this关键字作为参数,调用获取到的clone方法的invoke方法,并将执行结果类型强制转换为泛型,作为所述无参数克隆方法的返回值。5.根据权利要求2所述的方法,其特征在于,所述泛型接口类继承JAVA提供的java.lang.Cloneable接口类。6.一种克隆JAVA对象的装置,其特征在于,包括:获取模块,用于获取...

【专利技术属性】
技术研发人员:李瑞
申请(专利权)人:奇瑞汽车股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1