zoukankan      html  css  js  c++  java
  • 《java编程思想》:字符串

    1.String对象是不可变的,String类中每个看起来会修改String值的方法,实际上都是创建了一个新的String对象,来包含修改后的内容,所以在对String修改后,想打印新的值,可以直接打印,或者使用变量接受,直接打印原String引用是不会有变化的。

    2.通过 “+” 连接String字符串,实际上是编译器自动引入了StringBuilder类,通过append()方法实现的。

    3.当为一个类编写toString()方法时,如果字符串操作比较简单,可以直接使用“+”,信赖编译器。  但是如果在方法中使用了循环时,最好自己创建一个StringBuilder对象,用它来手动构造最后的结果。 如果使用“+”,编译器会在循环的过程中不断的创建StringBuilder对象,影响效率的同时也会造成过多垃圾。虽然java存在自动回收机制,但是其从来不是实时的,只是在内存不够用时才回收,所以尽量产生少的垃圾也是必要的。

    4.在toString()方法中,不要直接使用this,如使用 a = “b” + this + “c”这种语句,编译器无法识别this的时候,会调用this的toString()方法,此时就会陷入递归中,不停地出错。

    5.Formatter()类能实现String字符串输出格式更精细的控制,当需要时可以参考使用此类。

    6.String.format()方法,其实现原理也是内部创建Formatter对象,实现格式化。

    7.熟练掌握正则表达式的书写规范,同时熟悉使用Pattern和Matcher类api,两者结合的功能很强大,几乎可以满足对字符串的操作。

  • 相关阅读:
    IDAPython学习(一)
    自动提取文件系统---binwalk(一)
    Scapy Fuzz实现——S7协议从建连到“正常交流“(一)
    工控系统的指纹识别技术
    揭秘VxWorks——直击物联网安全罩门
    VxWorks Fuzzing 之道:VxWorks 工控实时操作系统漏洞挖掘调试与利用揭秘
    路由器文件系统与提取
    python 调试技巧
    拿下id_rsa
    elasticsearch 7.1 401 Unauthorized
  • 原文地址:https://www.cnblogs.com/don9/p/6882714.html
Copyright © 2011-2022 走看看