如果有更合适的数据类型,应使用此类型,而不要使用String,基本原则包括:
1.String不适合代替int,float,boolean等性能更高的数据类型
2.String不适合替代枚举类型
3.String不适合替代集合类型,如应返回Address类的对象,替代返回类似“中国:广东”这样的字符串来表示地址
4.String不适合替代功能实现(capability),如要求key值对每个调用者是唯一的,并且只能由调用者访问,此情况就不适合用String作为key值,具体例子可参考原书
String在JVM里实现为不可变对象,因此在拼接字符串时,如果使用String类型,可能会创建多个String对象,导致性能降低。建议使用StringBuilder,StringBuffer拼接字符串。具体说明可参考本博客帖子<<String, StringBuffer, StringBuilder区别>>