为了账号安全,请及时绑定邮箱和手机立即绑定

不确定如何在JAVA中初始化一个新对象,该对象是另一个对象的对象参数的副本

不确定如何在JAVA中初始化一个新对象,该对象是另一个对象的对象参数的副本

婷婷同学_ 2022-06-04 15:03:23
本质上,我正在制作一个小程序,处理双精度值和枚举作为输入并返回一些输出。问题是我需要这样创建一个新对象:对于这个问题,我无法导入类或使用静态方法,所以我一直在尝试克隆这两个对象而不使用任何导入的类。我不确定我的“Example z = new Example(t)”行是假的还是什么。我可以将“t”的值设置为另一个设置的私有“示例”对象,但我不知道如何将该信息发送到对象“z”。public class Example{    private double temp;    private Scale scale;    private char start;    public Example(double temp){...}    public Example(double temp, Scale scale){...}    public Example(Example input){              /*I don't know what to put in here in order              in order to copy the input to a new object*/    }}public class Test{    public static void main(String[] args){    Example t = new Example(-10000.1, Scale.FAHRENHEIT);    Example z = new Example(t);}
查看完整描述

2 回答

?
千万里不及你

TA贡献1784条经验 获得超9个赞

public Example(Example input){

    this.temp = input.temp;

    this.scale = input.scale;

    this.start = input.start;

}

可能有帮助 ;)


查看完整回答
反对 回复 2022-06-04
?
冉冉说

TA贡献1877条经验 获得超1个赞

您可以根据您的用例使用以下任何技术:

  • clone()如果类实现 Cloneable,则使用。

  • 手动创建克隆。如果有一个constructor接受所有参数的,它可能很简单,例如new Example( ex.temp, ex.scale, ... )

  • 使用serialization. 如果您的对象是一个图,则序列化/反序列化它可能更容易获得克隆。

您可以参考代码示例


查看完整回答
反对 回复 2022-06-04
  • 2 回答
  • 0 关注
  • 94 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信