gpt4 book ai didi

Java:传递相同对象作为参数的对象构造函数

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:45:46 25 4
gpt4 key购买 nike

我创建了一个名为 Transaction 的对象,我将其传入 ArrayQueue。

这是 Transaction 类的构造函数(我也有合适的 setter 和 getter):

public class Transaction {

private int shares;
private int price;

public Transaction(int shares, int price) {
this.shares = shares;
this.price = price;
}

public Transaction(Object obj) {
shares = obj.getShares();
price = obj.getPrice();
}
}

在第二个构造函数中,我想要一个场景,我可以将一个已经出队(ed)的不同事务对象传递给它,并从该事务中获取信息并将其放入一个新事务中,或者可能在我之前对其进行操作把它放回队列中。但是当我编译时它不喜欢这样。

将特定对象传递给它自己的对象的构造函数是否是可接受的编程实践?或者这甚至可能吗?

最佳答案

它叫做 copy-constructor你应该使用 public Transaction(Transaction obj) 而不是 Object 并且还提供 getters:

public class Transaction {

private int shares;
private int price;

public Transaction(int shares, int price) {
this.shares = shares;
this.price = price;
}

public Transaction(Transaction obj) {
this(obj.getShares(), obj.getPrice()); // Call the constructor above with values from given Transaction
}

public int getShares(){
return shares;
}

public int getPrice(){
return price;
}
}

关于Java:传递相同对象作为参数的对象构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20011797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com