第6章字符串 熟练掌握String的使用 会使用StringBuffer和StringBuilder 会使用命令行参数向程序中传递参数 6 1String类 一个String对象一旦构造之后 其值是不可以改变的 String类是一个final类 直接构造放在 常量池 中 注意 和equals 的区别 在比较对象时 比较的是对象存放的地址 String的equals 比较的是String对象的值是否相同 可以用 连接字符串 常用方法必须掌握 6 2StringBuffer类 一个StringBuffer对象在构造之后 其大小还可以改变 只能用构造器对它初始化 StringBuffer对象的容量和它的长度是两个概念 其容量大于其长度 StringBuffer经常的再分配会产生内存碎片 且实现同步会降低执行效率 因此单线程中不常用 6 3StringBuilder类 用法与StringBuffer几乎相同 不能保证同步 因此效率更高 常在单线程中使用 运算次数少时 使用String类足够了 运算次数多时 建议 局部变量一般用StringBuilder 因为不会有多线程的问题 成员变量一般用StringBuffer 因为要考虑线程的同步问题 必要时可对它们互相转换