• 第13章_字符串:



    1:JDK中所有对String修改的方法都是创建一个新的String对象。
    2:方法的参数是String时,传递过来的都是String的引用,其值一直保存在某一物理位置。
    3:JDK自带的反编译工具:javap
    4:通过反编译String中的+操作符可看到:字符串连接符其实是用StringBuilder来实现的,因为StringBuilder效率高。
    5:字符串拼接优化:适当的使用StringBuilder对象。StringBuilder是javase5加进去的,之前使用的是线程安全的StringBuffer。
    6:toString()中无意识的递归调用:
    String toString(){return "这个对象的地址为:"+this}
    由于字符串后的+是字符串连接符,所以编译器认为this是一个字符串,而this却并非如此,然后编译器就会将this转换为String,于是编译器调用了this.toString(),于是发生了递归。
    7:格式化输出:
    7.1:使用printf("Row 1:[%d,%f]",x,y); //x和y将分别代替%d,%f的位置,格式化为double类型和float类型。
    7.2:System.out.format("Row 1:[%d,%f]",x,y); format方法和printf基本相同。
    8:Formatter类:
    java中的格式化功能都由Formatter类处理,它就像一个翻译器,构造的时候传递一些信息,然后根据这些信息输出你需要的内容。
    9:String.format()静态方法用于格式化String对象。
    10:扫描输入:扫描输入需要解决输入,分词,翻译,返回等问题。
    Scanner对象构造的时候可以接受任何的输入源(String、File、InputStream、ReadAble对象)。
    Scanner将所有的输入、分词、翻译、都封装在了各种类型的next()方法中(除char的基本类型,BigDecimal、BigInteger)。
    11:Scanner界定符:
    默认Scanner对象使用空格作为界定符,可以使用useDelimiter()来设置界定符。
    12:java正则表达式(一种强大灵活的文本处理工具):
    在正则表达式中d表示一位数字,向正则表达式中写入方法是\,所以一位数字表达为:\d
    向正则表达式中添加一个普通的的方法是\\
    但是制表符合换行不需要通过转义的:
    表达:“一个或者多个之前的表达式”使用+。
    表达:“可能有一个负号”:-?
    例如:表达“可能有一个负数,后面跟着一位或者多位数字”使用-?\d+
    13:String匹配字符串:
    System.out.println("-123".matches("-?\d+")); //true
    System.out.println("+123".matches("(-|\+)?\d+")); //(由于+在正则中有特殊意义所以使用\进行转义)true
    Arrays.toString("123,123,354,565".split(","));
    System.out.println("123,345,2345,654".replaceAll(",","-"));
    14:正则表达式:
    ?????
  • 相关阅读:
    伐木工和森林的故事(一)
    EclipsePDT PHP的开发环境配置
    奇怪的using
    [团队开发]SERVER2008下无法安装VS2008 SP1 和 TFS2008 SP1补丁
    写在七夕
    一点点的松懈,就可以毁掉自己!
    2008,到今天我不后悔
    细节决定成败,注意的事情需要做到,而不是听完了当耳边风
    正视差距,展望2008!
    ZendStudio5.5调式环境配置
  • 原文地址:https://www.cnblogs.com/Xmingzi/p/8648647.html
Copyright © 2020-2023  润新知