我正在编写一个基本上读取文本文件(表格格式)的代码,并检查文件是否包含预期的数据类型。为此,我写了下课。
示例文件将是这样的。
name age
abc 20
xyz vf
aaa 22
我有JSON文件说,哪个列应该包含什么?
{
filename:"test.txt",
cols:{
name:string,
age: int
}
}
JSON文件包含每行的DataType,所以我知道会发生什么?
以下代码工作没有任何问题。但是,似乎这段代码违反了开放的封闭和接口隔离原则。
public class DataValidation {
public boolean isInt(String value) {
try {
Integer.parseInt(value);
return true;
} catch (NumberFormatException ne) {
return false;
}
}
public boolean isFloat(String value) {
try {
Float.parseFloat(value);
return true;
} catch (NumberFormatException ne) {
return false;
}
}
}
所以我想Refector下面提到的代码。但是,想知道我会得到什么好处,有没有更好的方法?
public interface DataValidation {
boolean validate(String value);
}
public class IntValidator implements DataValidation {
public boolean validate(String value) {
try{
Integer.parseInt(value);
return true;
}catch (NumberFormatException ne){
return false;
}
}
}