Java string总结

整理一下java String的基础知识,整合了一些网上大佬们的笔记资料

1.String被声明为最终的,不可被继承,内部由字符数组存储数据,也被声明为最终的决定。因此字符串也就不可变。

2.不可变:

              1)用于存储散列值

               2)可以使用字符串池

               3)用字符串做参数安全性高

               4)线程安全

3.StringBuffer / StringBuilder

1)的StringBuffer内部使用同步进行同步,线程安全

2)的StringBuilder不是线程安全的

4.String Pool

1)保存着所有字符串字面量(编译时确定,字面量及String str =“sss”;),可以用String的intern()方法将字符串添加到String Pool(运行时)。

2)Java7以后,String Pool从运行时常量池(永久带)转移到了堆中,防止字符串使用太多导致OutOdMemoryError

3)new方法创建String Pool中没有的字符串会创建出两个对象,一个在堆中(new),一个在String Pool中(字面量)

5.String类常用方法:

int length();长度

char charAt();取出指定位置的字符

char toArray();字符串转为字符数组

int indexOf();得到指定内容最后一次出现的索引

toUpperCase()/ toLowerCase();大小写转换

String [] split(“xxx”);根据给定的正则拆分字符串,返回新的字符串数组

boolean equals(Object object); 字符串对象内容比较

boolean equalsIgnoreCase(String); 忽略大小写比较字符串

boolean contains(String); 是否包含字串

boolean startWith(String)/ endsWith;以指定内容开始/结束

trim();去掉字符串两端空格

replace(char old,char new);字符替换

replaceAll(String,String);全替换

String substring(int begin,int end); 字符串截取,[开始,结束)左闭右开区间

猜你喜欢

转载自blog.csdn.net/weixin_40616523/article/details/85095956