java - 如何以最少的代码编辑来更改属性类型?

标签 java oop

我有一个带有字段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/

相关文章:

java - Amazon SNS 使用 Java 推送主题

java - 对象值与 Hibernate 中的表列不匹配

从 Java 程序员的角度看 Python OOP

c# - 创建新实例时使用类方法

java - 传递 Java 对象最有效的方法?

php - 语法 '%s' 和 '%d' 作为调用变量的简写是什么意思?

Java 无法调用 addAll() 将子类类型的数组列表添加到 <?扩展基类>

java - Java 中的不可达语句

java - 如何计算多列(colspan)HTML 表格的宽度?

php - 您将如何为这个应用程序建模?