Java String详解
来源:互联网 发布:海绵宝宝 知乎 编辑:程序博客网 时间:2024/06/07 12:55
String常见用法
String是一个描述字符串事物的类,提供了多个对字符串进行操作的方法。
1、获取
int length():获取字符串长度;
char charAt(int index):获取index角标位置上的字符,角标从0开始;
int indexOf(int ch):获取ch在字符串中第一次出现的位置,此处参数可以传字符的ASCII码值,也可传字符;如果没找到则返回-1;
int indexOf(int ch, int fromIndex):从fromIndex指定的位置开始,获取ch在字符串中出现的位置;
int indexOf(String str):获取str在字符串中第一次出现的位置;
int indexOf(String str, int fromIndex):从fromIndex指定的位置开始,获取str在字符串中出现的位置;
2、判断
boolean contains(str):字符串中是否包含str子串;
boolean isEmpty():字符串是否有内容,原理是判断字符串长度是否为0,当字符串为null时此方法会抛异常;
boolean startsWith(String str):字符串是否以str内容开头的;
boolean endsWith(String str):字符串是否以str内容结尾的;
boolean equals(String str):判断两个字符串中的内容是否相同,String类中重写了Object中的equals方法;
boolean equalsIgnoreCase(String str):判断两个字符串中的内容是否相同,忽略大小写;
3、转换
static String valueOf(boolean/char/float/double/int/long/char[]):将对应类型转换成字符串;
static String valueOf(char[], int offset, int count):将字符数组中的指定部分转换成字符串;
staic String copyValueOf(char[], int offset, int count):将字符数组中指定部分转换成字符串;
char[] toCharArray():将字符串转换成字符数组;
byte[] getBytes():将字符串转成字节数组;
4、替换
String replace(String oldchar, String newchar):用新字符串替换掉所有的旧字符串;
5、切割
String[] split(String/regex):安给定的字符串或正则表达式来切割字符串;
6、截取
String substring(int beginIndex):获取指定角标后面的子串;
String substring(int beginIndex, int endIndex):获取指定角标中间的字符串;
7、部分常用方法
String toUpperCase():将字符串全部转成大写;
String toLowerCase():将字符串全部转成小写;
String trim():去除字符串两边的空格;
int compareTo():对两个字符串进行自然顺序的ASCII码的比较;
StringBuffer用法
StringBuffer和String一样,也是用来描述字符串的类;但StringBuffer和String的内部实现不同,StringBuffer是以容器的形式来实现的,StringBuffer在处理字符串时不产生新对象,在内存的使用和速度上是远远优于String。所以在实际使用时,如果对字符串的修改比较频繁,使用StringBuffer更合适些。
作为一个数据容器都需要提供方便的增删改查接口功能。
1、新增
StringBuffer append(数据):将指定的数据作为参数添加到已有数据结尾处;
StringBuffer append(int index, 数据):将数据插入到指定index的位置;
2、删除
StringBuffer delete(int start, int end):删除缓冲区中的数据,包含start,不包含end;
StringBuffer deleteCharAt(int index):删除指定位置的字符;
3、修改
StringBuffer replace(int start, int end, String str):用指定的字符串替换掉角标间的字符串;
void setCharAt(int index, char ch):替换掉指定角标位的字符;
4、查找
char charAt(int index):获取指定角标位的字符;
int indexOf(String str):获取第一次匹配字串处的角标,从左往右开始查找;
int lastIndexOf(String str):获取第一次匹配字符串处的角标,从右往左开始查找;
int length():获取容器的字符长度;
String substring(int start, int end):获取指定区间的字符串;
5、其它常用方法
StringBuffer reverse():将容器里的字符串反转;
viod getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin):将缓冲区中指定数据存储到指定字符数组中;
StringBuilder用法
StringBuilder是5.0新增特性,此类提供了一个与StringBuffer兼容的API。在有了StringBuffer后为什么还提供一个相同功能的StringBuilder?
升级的三个要素:提高效率;简化书写;提供安全性。而StringBuilder的出现就是为了提高效率。StringBuffer为线程安全,是因为用到了synchronized,那么每次访问就需要判断锁标志;而StringBuilder是非线程安全,直接访问即可;显然StringBuilder快于StringBuffer。而字符缓冲区被单线程使用的情况很普遍,此时使用StringBuilder较合理;如果在多线程中还是使用StringBuffer较好。
- Java String 深入详解
- java string类详解
- Java String详解
- java String详解
- JAVA String类详解
- java String 类详解
- java String类详解
- java String.Format详解
- java----String类详解
- Java中的String详解
- Java String类详解
- Java String详解
- Java详解String类
- java String类详解
- java String类详解
- java String类型详解
- Java的String详解
- 【Java的String详解】
- Struts2工作流程和原理
- 学习日记-三大特性之继承
- SAT写作重要方法之体会英文名著观察生活
- syntax error near unexpected token ?怎么解决
- spring事务传播机制实例讲解
- Java String详解
- 第十二届浙江省大学生程序设计大赛-Beauty of Array
- 二叉树中和为某一值的路径
- 学习日记-三大特性之多态
- Android视图SurfaceView
- 如何让vim编辑器永久显示行号
- Mac快捷键指南
- MyEclipse 注册码(包含6.5-8.5)
- github-上开源代码库-收藏备用