考虑一个从CSV行中实例化的类,它存储一些字段。为这个类创建两个构造函数是有意义的-一个从原始的CSV行创建,另一个使用显式的变量赋值。
例如,
例如,
public MyClass(String csvLine)
{
String[] fields = StringUtils.split(csvLine, ',');
this(fields[3], fields[15], Integer.parseInt([fields[8]));
}
public MyClass(String name, String address, Integer age)
{
this.name=name;
this.address=address;
this.age=age;
}
在Java中,这会失败,因为:
构造函数调用必须是构造函数中的第一条语句 WhereOnEarth.java
正确的实现方式是什么?
MyClass
不应该“知道” CSV 文件,所以将其放入另一个类中(连同toCSVLine
)可能更有意义。但是静态创建方法肯定是正确的选择 - 构造函数有点混乱。 - Tom Hawtin - tackline