1.概述:字符串是一个特殊的对象,一旦被初始化就不可以被改变。
String类复写了Object类中的equals方法,用于判断字符串是否相同。
String s1 = "abc"; //在内存中有一个对象。
String s2 = new String("abc"); //在内存中有两个对象。 (常量池)
2.常见功能:
(1).获取
int lenght() : 获取长度。
char charAt(int index): 获取某一位置上的字符。
int indexOf(int ch): 获取某一字符第一次出现的位置。
int indexOf(int ch, int fromIndex): 从某一位置开始,获取某一字符第一次出现的位置。
int indexOf(String str): 获取某一字符串第一次出现的位置。
int indexOf(String str, int fromIndex): 从某一位置开始,获取某一字符串第一次出现的位置
(2).判断
boolean isEmpty(): 判断字符串是否有内容,长度是否为0。
boolean contains(CharSequence s): 字符串是否包含某一字符串。(可以索引s第一次出现的位置,返回-1表示字符串中不存在该子字符串,可以用于判断是否包含)
boolean startsWith(String prefix): 判断字符串是否以某一字符串开始。
boolean endsWith(String suffix): 判断字符串是否以某一字符串结束。
boolean equals(str): 判断内容是否相同。
boolean equalsIgnoreCase: 判断内容是否相同,并忽略大小写。
(3)转换
字符数组转成字符串: a.构造函数形式 String(char [ ] data) String (char[ ] , int offset, int count)
b.静态方法 static String copyValueOf(char [ ])
static String copyValueOf(char [ ] data, int offset, int count)
基本数据类型转换成字符串: static String ValueOf(int)
**字符串转换成字符数组: char [ ] toCharArray()
字符串转换成字节数组: byte [ ] getBytes()
(4)替换
String replace(oldchar, newchar): 替换某一字符。
String [ ] split(regex): 切割。如String [ ] arr = s.split(",");
String substring (beigin): 获取指定位置到结尾
String substring(begin, end): 获取开始位置到结束位置,不包含end。
(5)去空格,比较
String toUpperCase(): 将字符串转换成大写。
String toLowerCase(): 将字符串转换成小写。
String trim(): 将字符串两端的多个空格去除。
int compareTo(string): 对两个字符串进行自然顺序的比较。
1.存储:StringBuffere append(): 将指定数据作为参数添加到已有数据的结尾处。
StringBuffereinsert(index, 数据): 可以将数据插入制定位置。
2.删除:StringBuffere delete(start, end): 删除缓冲区的数据,包含start,不包含end。
StringBuffere deleteChatAt(index): 删除指定位置的字符。
3.修改:
StringBuffere replace(int start, int end, String str): 修改指定字符串。
void setCharAt(int index, char ch) : 修改指定位置的字符。
4.反转:
StringBuffere reverse();
5. void getChars(int srcBegin, int srcEnd, char[ ] dst, int dstBegin): 指定数据存入数组,从
dstBegin开始存。
StringBuider:线程不同步,用法与StringBuffer相同,建议使用StringBuider
基本数据类型对象包装类:
byteByte
intInteger
short Short
double Double
long Long
boolean Boolean
float Float
char Character
基本数据类型对象包装类的常见作用:用于基本数据类型和字符串类型之间做转换。
Integer.toString(int i); 转成字符串
Integer.parseInt(str); 字符串转成整数
十进制转成其他进制:Integer.toBinaryString();
Integer.toHexString();
Integer.toOctalString();
其他进制转成十进制:parseInt(String s, int radix)
自动拆装箱。