写点什么

11. 《重学 JAVA》-- 字符串

作者:杨鹏Geek
  • 2021 年 12 月 12 日
  • 本文字数:1031 字

    阅读完需:约 3 分钟

11. 《重学JAVA》--字符串

1、String

字符串是由一串字符序列,字符串是有双引号括起来的多个字符。

例子:”你好”,” ”,”A”

字符串是由 Unicode 编码,所以 Java 字符串是包含中文等亚洲字符,如果单个字符用双引号括起来,也会表示是字符串的,另外 String 字符串是不可变字符。

以主流的 JDK 版本 1.8 来说,String 内部实际存储结构为 char 数组。

 

String 常用的相关 API,值得每一个方法都执行一遍。

equals():比较两个字符串是否相等。String 类型重写了 Object 中的 equals() 方法,equals() 方法需要传递一个 Object 类型的参数值,在比较时会先通过 instanceof 判断是否为 String 类型,如果不是则会直接返回 false,当判断参数为 String 类型之后,会循环对比两个字符串中的每一个字符,当所有字符都相等时返回 true,否则则返回 false。

indexOf():查询字符串首次出现的下标位置。

lastIndexOf():查询字符串最后出现的下标位置。

contains():查询字符串中是否包含另一个字符串。

toLowerCase():把字符串全部转换成小写。

toUpperCase():把字符串全部转换成大写。

length():查询字符串的长度。

trim():去掉字符串首尾空格。

replace():替换字符串中的某些字符。

split():把字符串分割并返回字符串数组。

join():把字符串数组转为字符串。

compareTo():比较两个字符串,方法会循环对比所有的字符,当两个字符串中有任意一个字符不相同时,则 return char1-char2。比如,两个字符串分别存储的是 1 和 2,返回的值是-1;如果存储的是 1 和 1,则返回的值是 0,如果存储的是 2 和 1,则返回的值是 1。

2、StringBuilder

StringBuilder 是 StringBuffer 的单线程版本,在 JDK1.5 更新后有的,是线程不安全的,但意味着执行效率很高。

StringBuilder 常用 API:

append():新增。

delete(int start,int end):删除。

setCharAt(int n ,char ch) / replace(int start, int end, String str):修改。

insert():插入。

length():长度。

3、StringBuffer

StringBuffer 是可变 String,是线程安全的,它的方法是支持线程同步的,线程同步会操作串行型顺序执行,在单线程环境下会影响效率。

StringBuffer,它提供了 append 和 insert 方法可用于字符串的拼接,它使用 synchronized 来保证线程安全,因为它使用了 synchronized 来保证线程安全,所以性能不是很高。

StringBuffer 常用 API:

append():新增。

delete(int start,int end):删除。

setCharAt(int n ,char ch) / replace(int start, int end, String str):修改。

insert():插入。

length():长度。

 

发布于: 20 小时前阅读数: 7
用户头像

杨鹏Geek

关注

你必须比别人更努力 才能看起来毫不费力! 2019.10.26 加入

码农

评论

发布
暂无评论
11. 《重学JAVA》--字符串