一个工具类中的方法一般都是静态方法,这样利用了静态方法的特性,使得可以不实例化这个工具类而直接调用工具类的里面的方法。但我觉得静态方法的本意不应该是这个目的。
说一下我会有这种想法的起因:
我现在有这样一个工具类,其中的方法是为了将一行文本( String 类型)按照分隔符分割后,依序构成一个 JavaBean 后返回。
比如文本是:
『 Tea_LongJin_20180608_100.00 』
那么就会转为一个 Tea 类,teaname="LongJin" productime="20180608" price = 100.00 并返回
如果文本开头是 coffee,那么又要调用 ReadCoffee 方法。(调用谁的条件判断不是工具类和工具方法负责的,工具方法只是被调用。)
那么将这一行文本分割转为字符串数组的过程中用到了『 public String[] split(String regex,int limit) 』方法,其中第二个参数是这行文本中分隔符的个数。
那我就想,不论是读对应哪个类的文本,数分隔符的方法都是一样的步骤。那应该将它提出来。
而这个抽象出来的方法为了能在静态的工具方法中被使用,就必须要是静态的。然而因为这个方法不应该被外部调用,所以又要私有化。这样一个 private static 的方法就让我觉得很怪异很不应该。。。
我整个想法是否有哪里出错了呢?望指正。谢谢。
说一下我会有这种想法的起因:
我现在有这样一个工具类,其中的方法是为了将一行文本( String 类型)按照分隔符分割后,依序构成一个 JavaBean 后返回。
比如文本是:
『 Tea_LongJin_20180608_100.00 』
那么就会转为一个 Tea 类,teaname="LongJin" productime="20180608" price = 100.00 并返回
如果文本开头是 coffee,那么又要调用 ReadCoffee 方法。(调用谁的条件判断不是工具类和工具方法负责的,工具方法只是被调用。)
那么将这一行文本分割转为字符串数组的过程中用到了『 public String[] split(String regex,int limit) 』方法,其中第二个参数是这行文本中分隔符的个数。
那我就想,不论是读对应哪个类的文本,数分隔符的方法都是一样的步骤。那应该将它提出来。
而这个抽象出来的方法为了能在静态的工具方法中被使用,就必须要是静态的。然而因为这个方法不应该被外部调用,所以又要私有化。这样一个 private static 的方法就让我觉得很怪异很不应该。。。
我整个想法是否有哪里出错了呢?望指正。谢谢。