50条如果其他类型更合适,尽量避免使用字符串

(一)字符串不适合代替其他的值类型

如果数据本身是数值,就应该是int float或者BIgInteger之类的,如果是一个 是-或-否,这种问题,应该转化为 Boolean。

也就是说,如果存在适当的值类型,不管是基本类型还是其他对象引用,大多应该使用这种类型,如果不存在这样的类型,就应该编写这样的类型。

显然,抓数据的时候,不应该都是String。

(二)字符串不适合替代枚举类型

(三)字符串不适合替代聚集类型


String compoundKey = className + "#" + i.next();

显然缺点很多,用分隔符导致结果混乱,访问简单的域也要解析字符串,过程慢而且繁琐,容易出错,无法提供equals、toString或者compareTo方法,被迫接受String提供的行为,更好的做法是编写一个雷描述这个数据集,通常是一个私有的静态成员类。 22条中的内部类吧。

不过我们抓取数据还是需要自定义一种类型,提供toString方法即可了。


最后字符串也不适合代替能力表,比如字符串被用于某种功能进行授权访问。

如果两个用户提供的字符串一样不就不好了,所以最终使用泛型话比较,

举了ThreadLocal的例子,需要研究一下。




你可能感兴趣的:(50条如果其他类型更合适,尽量避免使用字符串)