zoukankan      html  css  js  c++  java
  • 编写高质量代码:改善Java的151个建议六(字符串)52-59

    该书籍PDF下载地址:http://download.csdn.net/download/muyeju/10001473

    52.推荐使用String直接赋值

      通过String直接创建字符串的过程:创建一个字符串时,首先检查字符串常量池中有没有与字面值相等的字符串,如果有,就不创建,直接返回字符串常量池中该对象的引用;如果没有,就创建,然后放到字符串常量池中,然后返回新建对象的引用。

      通过new创建字符串的过程:它不会检查字符串常量池的

      所以字符串推荐使用直接赋值

      字符串的intern()方法:返回字符串对象的规范化表示形式。调用intern()方法时,首先会查找字符串常量池中是否有该字面值,有的会直接返回该引用,没有的话就创建一个放到字符串常量池中,然后返回引用。

    53.字符串的replaceAll方法第一个参数是正则表达式

    54.正确使用String,StringBuffer,StringBuilder

      String是不可变量,创建后就不能修改,修改其实是创建了新的字符串对象

      StringBUffer是可变字符序列,与String一样,在类型中保存的都是一个有序的字符序列(char类型的数组),不同的是StringBuffer的值是可以变的

      StringBuffer的append和String的+号拼接的区别:

        StringBuffer拼接后,它的引用不变,值变了

        String通过+号拼接后:它指向了新的引用

      StringBuilder和StringBuffer一样,都是可变字符序列,不同的是,StringBuffer是线程安全的,StringBuilder是线程不安全的,StringBuffer前面有synchronized修饰,所以StringBuffer的性能低于StringBuilder

      

      使用场景:

      

     55.注意字符串的位置:

      Java对+号的处理机制:在使用+进行计算的表达式中,只要遇到String类型的字符串,所有数据都会转化为String类进行拼接,如果是原始类型就直接拼接,如果是对象,就调用对象的toString()方法的返回值后在拼接

      在有+号的表达式中,String字符串具有最高优先级

    56.自由选择字符串拼接方法

      + < concat < StringBuilder、StringBuffer的append

    57.复杂字符串中使用正则表达式

    58.统一使用utf-8编码

    59.汉字排序

      普通的汉字排序用Collator,复杂的自己写方法

    public static void main(String[] args) {
            String[] s = {"手机费","捡垃圾","肯德基"} ;
            Comparator com = Collator.getInstance(Locale.CHINA) ;
            Arrays.sort(s,com);
            for (String string : s) {
                System.out.println("---"+string);
            }
                    结果:---捡垃圾
                             ---肯德基
                             ---手机费
    
        }
  • 相关阅读:
    Python any()
    从 SQL Server 到 MySQL (一):异构数据库迁移
    sql server作业实现数据同步
    分布式异构系统的数据一致性架构实现
    实战:sqlserver 数据实时同步到mysql
    基于MySQL的高可用准实时的数据同步方案
    SQL Server数据同步的研究(单向/双向)
    YY 数据库平台化建设实践
    两台SqlServer数据同步解决方案
    热迁移、异构数据库迁移、传输性能 这些上云的难题阿里云都帮你解决了
  • 原文地址:https://www.cnblogs.com/-scl/p/7650801.html
Copyright © 2011-2022 走看看