我有一个具有多个字段的模型,因此,我有setters和getters方法,然后,我需要用零填充此字段,或者在左侧留有空白,我已经有一个用于此的方法,但我需要调用在每个设置器上,我该如何改进它并且没有很多重复的代码?
这是示例:
public String rellenarStringConEspaciosEnBlanco(String cadenaARellenar, int tamanoACumplir,
int tamanoCadenaARellenar) {
int size = tamanoACumplir - tamanoCadenaARellenar;
if(size>0) {
String formato = "%-" + size + "s";
String rellenar = String.format(formato, " ");
cadenaARellenar = cadenaARellenar + rellenar;
return cadenaARellenar;
}
return cadenaARellenar;
答案 0 :(得分:0)
如果您有类似的东西
class Foo {
String var1;
String var2;
void setVar1(String var1) {
this.var1 = var1;
}
void setVar2(String var2) {
this.var2 = var2;
}
}
也许您可以添加一个构造函数以使用这样的空格初始化对象
class Foo {
String var1;
String var2;
public Foo(String var1, String var2) {
this.var1 = var1;
this.var2 = var2;
}
void setVar1(String var1) {
this.var1 = var1;
}
void setVar2(String var2) {
this.var2 = var2;
}
}
那你就可以做
Foo foo = new Foo(
rellenarStringConEspaciosEnBlanco("A chain", 7, 1),
rellenarStringConEspaciosEnBlanco("A chain", 7, 1)
);
答案 1 :(得分:0)
我不必修改DTO,解决方案不是修改DTO,而是在我正在调用设置程序的类上创建一个新方法,这里是代码
detailRecord.setReferenceOne(rellenarCadena(datosExcelParaProcesar.getField("Referencia1"),detailRecord.getLengthReference1()));
rellenar cadena是
public String rellenarCadena(String cadenaParaRellenar, int sizeCadenaTotal){
int size = sizeCadenaTotal-cadenaParaRellenar.length();
if(size>0){
String formato = "%-" + size + "s";
String rellenar = String.format(formato, " ");
cadenaParaRellenar = rellenar+cadenaParaRellenar;
}
return cadenaParaRellenar;
}