zoukankan      html  css  js  c++  java
  • EffectiveJava-3

    一、如果其他类型更适合,则尽量避免使用字符串

      1. 字符串不适合代替枚举类型

      2. 字符串不适合代替聚合类型,例如:

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

          该实体有多个组件,不适合用一个字符串来表示,易发生混乱,为了访问单独的域,必须解析该字符串,此过程很慢、很繁琐也很容易出错。更好的做法是未这个数据集编写一个类。

      3. 字符串也不适合代替能力表,能力即为不可伪造的键。有时某些服务需要客户端提供唯一的字符串键,但是若两个客户端各自决定使用相同的名称,无意间就共享了这个变量,安全性会很差。要解决这个问题,只要用一个不可伪造的键(能力)来代替字符串即可。

    二、了解字符串连接的性能

      1. 字符串连接不适合用在大规模的场景中。为连接n个字符串而重复地使用字符串连接操作符,需要n的平方级的时间。因为字符串不可变,导致要进行连接,两个字符串的内容都需要拷贝。

      2. 若项目数量巨大,为了获得可以接受的性能,请用StringBuilder代替String。

    《EffectiveJava》P231~P234

        

  • 相关阅读:
    XStream教程
    Log4j教程
    Java.io包
    Java输入/输出教程
    Java.math.BigDecimal.abs()方法
    数据类型转换
    JUnit教程
    java.lang
    标识符
    PHP面向对象笔记解析
  • 原文地址:https://www.cnblogs.com/MrZhaoyx/p/11716470.html
Copyright © 2011-2022 走看看