本质上,我正在制作一个小程序,处理双精度值和枚举作为输入并返回一些输出。问题是我需要像这样新建一个对象:
对于这个问题,我无法导入类或使用静态方法,因此我一直试图在没有任何导入类的情况下克隆这两个对象。我不确定我的“ 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);
}
答案 0 :(得分:2)
您可以根据用例使用以下任何一种技术:
clone()
。constructor
接受所有
参数,可能很简单,例如new Example( ex.temp, ex.scale,
... )
。serialization
。如果您的对象是图形,则可能更容易
序列化/反序列化以获得克隆。您可以参考this以获得代码示例
答案 1 :(得分:2)
public Example(Example input){
this.temp = input.temp;
this.scale = input.scale;
this.start = input.start;
}
可能会帮助;)