我有一个非常小且简单的类,但在如何处理它方面却给了我一些问题。
它有一个构造函数和一个单独的获取方法。
其目的是存储值的数组,并在通过获取方法询问时返回这些值。
此外,值的数组可以作为逗号分隔的字符串传递给构造函数。而这就是我无法决定如何处理的地方。
- 构造函数应该拆分该字符串并修剪元素以存储属性吗?
- 或者构造函数应该只是存储属性,每次调用getter时都应该拆分该属性?
- 还是getter应该检查属性,如果它是一个字符串,则拆分它,然后将该值存储在未来对getter的调用中不必再次拆分?
我有一个非常小且简单的类,但在如何处理它方面却给了我一些问题。
它有一个构造函数和一个单独的获取方法。
其目的是存储值的数组,并在通过获取方法询问时返回这些值。
此外,值的数组可以作为逗号分隔的字符串传递给构造函数。而这就是我无法决定如何处理的地方。
在构造函数中完成。这样只会被调用一次。如果你在getter方法中完成,那么你就需要多次进行分割操作。
public class Example {
private String string;
private String[] array;
public Example(String string){
this.string = string;
}
public Example(String[] array){
this.array = array;
}
public String[] getValues(){
if(this.array == null){
//Split the string, trim the values
//create a new array and assign it to the array-variable
this.string = null; //no need to keep it any longer
}
return this.array;
}
}
property.split(",")[4]
是某个特定的内容。总之,对我来说,第一种解决方案似乎是最好的。
你应该决定是否需要原始字符串。如果不需要,那么在构造函数中完成工作是合乎逻辑的选择。