gpt4 book ai didi

java - 创建新对象时使用 set 方法的替代方法

转载 作者:行者123 更新时间:2023-11-29 03:13:30 27 4
gpt4 key购买 nike

所以我正在尝试创建一个程序来帮助我跟踪我的开支,但我有一个关于如何创建我的对象的问题。

到目前为止,我一直在像这样创建我的对象:

Grocery milk = new Grocery();

milk.setName("Milk");
milk.setCost(2.84);
milk.setDate(30, 12, 2014);
milk.setType("Food");

我的杂货类扩展了这个费用类:

public Expense(){}
public Expense(String name, Double cost, Calendar purchaseDate){
name = _name;
cost = _cost;
purchaseDate = _purchaseDate;

}

到目前为止,我的杂货类只添加了另一个我称之为类型的字符串参数,所以这是我的问题:

我不想使用 set 方法为每个新创建的对象设置参数,而是这样做:

Grocery milk = new Grocery("Milk", 2.84, ??Date??, "Food")

但是 date 参数比其他类型为 string 和 double 的参数稍微复杂一点,有没有办法做我想做的事情,还是我最好使用 set 方法?

在此先感谢您的帮助。

最佳答案

您可以简单地使用 Date 类型的 Object

DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
Date date = formatter.parse("16/01/2015");

Grocery milk = new Grocery("Milk", 2.84, date, "Food")

替代方案包括使用 Calendar对象(具有更灵活/更强大的日期操作方法),或者只是将您的日期存储为 String

至于决定是使用setX() 方法还是使用综合构造函数,除非有理由不可以,两者都可用,并且只使用最合适的一个时间。

进一步阅读:

关于java - 创建新对象时使用 set 方法的替代方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27987526/

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