我有一个带有字段int number
的自定义类Bus
。因此,当创建新对象时,构造函数采用 int
。
class Bus {
int number;
Bus(int n) {
number = n;
}
}
使用上面看到的构造函数创建了一些对象。
Bus 总线 = new Bus(21);
等等。
现在我希望将数据类型更改为String
而不是int
。
如果我只是更改 Bus 类中的数据类型,则必须更改已创建的所有对象,如果有数百个对象,这将是一项繁重的工作。
我想知道是否有更简单、更智能的方法来进行这些更改并避免大量工作。或者是否有更好的方法来实现该类,以便可以轻松进行此类更改?
谢谢!
最佳答案
您可以在 Bus 类中添加另一个构造函数并保留现有的构造函数:
String number;
Bus(int n) {
this( String.valueof(n) ); // or do other thing, as you need
}
Bus(String n) {
number = n;
}
但这可能不是一个好主意。如果可以的话,您应该删除旧的构造函数并对每个现有调用进行完整的重构。这样做,您可以避免维护不再使用的代码。如果您无法做到这一点,请考虑保留以前的构造函数并使用 @deprecated 注释以记住不再使用它。
关于java - 如何以最少的代码编辑来更改属性类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34920970/