• 第十二章 字符串累


    1. date
    2. integer
    3. properties
    4. string
    a. 是Java中表示字符串的一种类型,但是是我们运用最多的一种字符串类型
    b. 所有的输入输出都是真的字符串,类型的变化是程序内部的需要。
    c. 因为string是用的最多的数据类型,所有Java中有许多针对他的特殊设计
    i. 语法上
    1. 他是一个可以直接赋常量值的引用数据类型
    2. string 常量在类型中有特殊常量
    a. string 常量是对象。可以点 . 出来
    b. string 常量在加载期即放入内存中(数据段的字符串常量池)
    c. new 的在堆 ,局部变量在栈
    d. String 对象内容不可变 ,对String对象做任何内容改变都是得到一个新的String对象
    e. String提供了非常丰富的API
    i. String与字符数组相关的操作
    ii. String与比较相关的操作
    1. 。toUpperCase() 把String 转为大写
    2. 。toLowerCase()把String转为小心
    3. 。replace ('l','L')把String 中的某个字符换成另外的字符
    4. 。replaceAll()根据郑则表达式进行替换
    5. ().contains() ---查看一个字符串是否在另一外一个字符串当中---在输出中打印
    iii. 3个特殊方法
    1. .trim()--去掉字符串前后的空格
    2. matches()---正则表达式(regex)
    a. 用来规定一个字符串样式的模板,其它本身也是字符串形式---任何一个字符串都是一个正则表达式
    b. 掌握3中正则表达式就是3个括号
    i. 方括号 [ ] 一个方括号表示一个字符 里面写上字符允许的符号
    ii. 花括号 { } 表示次数 表示前面表达式重复的次数
    iii. 圆括号 () 表达式1 | 表达式2 | 表达式3 。。。。。可选 的意思.....
    3. split()--字符串拆分--
    a. 如果以分隔符开头,会正常拆分,如果已分隔符结尾,则最后面不会拆分
    b. 分隔符可以用正则表达式表示
    iv. 当需要操作到大量的字符串拼接时,String 就会对性能产生影响
    5. String Builder
    a. 是JDK 中提供的字符串类型,专门用来解决内容不可变的问题,它与String 没有任何继承关系
    b. String Builder不能 够进行+号的字符串拼接,只能支持它自己的方法
    c. .append (“ ”) 在尾部进行拼接
    d. . insert(数字几的位置,“ ”) 在中间进行拼接
    e. 当我们做大量的String 的拼接的时候,会出现性能消耗
    f. String Builder 是线程不安全的,没有同步动作,效率相对较高
    g. 线程安全性问题,只会在多线程的特殊情况下才会出现(不是说多线程一定会出现),所以没有安全问题的多线程情况或单线程情况优先使用String Builder
    (String 内容不可变)因此,我们选择内容可变的String Builder
    6.String Buffer
    String Buffer 也跟 String Builder 一样,内容可变,用来解决String 拼接的问题
    两个提供的API 都是一摸一样的。
    String Buffer 是线程安全,凡是线程都是安全的,但由于同步动作,导致效率低,

  • 相关阅读:
    资深技术Leader曹乐:如何成为技术大牛
    深入理解golang: interface
    Redis主体流程分析
    为什么我们总爱讨论技术与业务之间的那些是是非非?
    [产品]九卷读书:产品的视角-产品思维框架
    go http server 编程实践及源码分析
    [产品]九卷读书: 产品的视角-产品经理能力模型
    [产品]:腾讯8分钟产品课
    Golang gRPC学习(02): 编写helloworld服务
    括号生成
  • 原文地址:https://www.cnblogs.com/jlh915057902/p/6422231.html
Copyright © 2020-2023  润新知