前言
Java语言中有许多常用类,如:处理字符串,数学,日期,时间等。
针对字符串提供了常用的String类和StringBuffer类
String
初始化
1、使用字符串常量直接初始化一个String对象
//String 变量名 = 字符串;
//初始化为"abc"
String s1 = "abc";
//初始化为空字符串
String s2 = "";
//初始化为空
String s3 = null;
空字符串(""):长度为0,在内存中会分配空间
null:空引用,表示一个对象的值,没有分配内存
2、使用String的构造方法初始化字符串对象
方法声明 | 功能描述 |
---|---|
String() | 创建一个内容为空的字符串 |
String(String str) | 根据指定的字符串内容创建对象 |
String(char[] Array) | 根据指定的字符数组创建对象 |
//String 变量名 = new String(字符串);
//创建一个内容为空的字符串
String s1 = new String();
//根据指定的字符串内容创建对象
String s2 = new String("abc");
//根据指定的字符数组创建对象
char[] Array = new char[]{'a', 'b', 'c'};
String s3 = new String(Array);
常用方法
方法声明 | 功能描述 |
---|---|
int indexOf(char ch) | 返回指定字符在字符串中第一次出现的索引值 |
int lastIndexOf(char ch) | 返回指定字符在字符串中最后一次出现的索引值 |
int indexOf(String str) | 返回指定子字符串在字符串中第一次出现的索引值 |
int lastIndexOf(String str) | 返回指定子字符串在字符串中最后一次出现的索引值 |
char charAt(int index) | 返回字符串中index位置上的字符 |
int length() | 返回字符串的长度 |
boolean startWith(String str) | 判断字符串是否以指定的字符串开始 |
boolean endWith(String str) | 判断字符串是否以指定的字符串结尾 |
boolean isEmpty() | 判断字符串长度是否为0,为0则返回true |
boolean equals(String str) | 判断两个字符串是否相等 |
boolean contains(String str) | 判断字符串是否包含指定的字符串 |
String toUpperCase() | 将String中所有字符转换成大写 |
String toLowerCase() | 将String中所有字符转换成小写 |
String replace(String oldstr,String newstr) | 将String中所有的oldstr替换为newstr |
String substring(int index) | 返回一个新字符串,从index开始到字符串末尾的所有字符 |
String substring(int begin,int end) | 返回一个新字符串,从begin到end-1的所有字符 |
char[] toCharArray() | 将此字符串转换为一个字符数组 |
String[] split(String regex) | 根据正则表达式将字符串分割为若干个子串 |
String trim() | 返回一个去除String首尾空格的新字符串 |
String valueOf(Object obj) | 将int,char,boolean等类型的数据转换为字符串 |
StringBuffer
常用方法
String类是final类型,所有使用String定义的字符串是一个常量,因此一旦创建,其内容和长度是不可变的,Java中提供了一个新的方法解决这个问题—StringBuffer类
StringBuffer和String的区别在于,StringBuffer的长度和内容可以改变
针对添加和删除字符,StringBuffer类提供了一系列的方法:
方法声明 | 功能描述 |
---|---|
StringBuffer append(char ch) | 添加字符到StringBuffer对象中末尾 |
StringBuffer insert(int offset,String str) | 在StringBuffer对象中的offset位置插入字符串str |
StringBuffer deleteCharAt(int index) | 移除StringBuffer对象中指定位置的字符 |
StringBuffer delete(int start,int end) | 删除StringBuffer对象中start到end-1的字符串 |
StringBuffer replace(int start,int end,String str) | 将StringBuffer对象中start到end-1的字符串用str代替 |
StringBuffer reverse() | 反转StringBuffer字符串 |
void setCharAt(int index,char ch) | 将指定位置的字符修改为ch |