java - 最佳实践 : Map object properties from string collection

标签 java android oop properties

我有一个 Java 应用程序,我正在使用 JSoup 库进行一些网络抓取。我正在使用该库,它返回 Strings 6 的集合。我需要将这 6 个随机字符串映射到对象的属性。我知道字符串的输入顺序以及什么数字映射到什么属性。我不认为我的方法是处理这个问题的最佳方法。感觉很失落,可读性很差,我只是想知道是否有更好的方法来做到这一点。我正在考虑使用枚举或单独使用这些行。长话短说,这是一个代码 fragment 。感谢您的帮助。

List<String> strings = JSoup.getStrings();
Car car = new Car();
int i = 0;
for(String s : strings) {
    switch (i) {
        case 0:
            car.setMake(s);
            break;
        case 1:
            car.setModel(s);
            break;
        .....
    }
    i++;
}

最佳答案

由于这个问题是关于最佳实践的,因此您应该考虑在 Car 中提供一个构造函数,该构造函数将字符串列表作为输入。然后,构造函数将从字符串列表中一一初始化汽车的字段,因为这就是构造函数的用途。这意味着用于填充汽车实例的代码现在将位于一个位置,即 Car 类内部。

这种方法将消除创建 Car 实例的代码手动初始化 Car 实例的需要。无论有多少个不同的类创建一个 Car,每个类中的初始化代码都不会重复。将初始化代码放在汽车本身内部可以提高可重用性。这不就是编写类(class)的目的吗?

关于java - 最佳实践 : Map object properties from string collection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12553891/

相关文章:

java - NetworkSecurityConfig : No Network Security Config specified, 使用平台默认错误响应代码:400

java - Hystrix 执行模式

android - 在真实设备上测试

android - 如何使用 Espresso 匹配此表格单元格?

c++ - 当数据可以在类对象超出范围之前被删除时,类允许访问其数据(通过 ptr/it)是不是糟糕的设计?

c++ - extern "C"的功能是什么?

java - JDBC - Statement、PreparedStatement、CallableStatement 和缓存

java - 使用java和套接字的简单聊天程序

android - 如何在kotlin中设置确认删除警报对话框

Java GUI 对象在传递给类后变为 null