String类
在C语言中已经涉及到字符串了,但是在C语言中要表示字符串只能使用字符数组或者字符指针,可以使用标准库提供的字符串系列函数完成大部分操作,但是这种将数据和操作数据方法分离开的方式不符合面相对象的思想,而字符串应用又非常广泛,因此Java语言专门提供了String类。
一.String类的基本构成
String类提供的构造方式非常多,常用的就以下三种:

String类实际上只有两个成员变量。


可以看到其实就是把字符串放到value数组里,但是没有/0。

在Java中""引起来的也是String类型对象


二.字符串比较
1.比较相等


因为直接使用==是判断的地址是否相同,所以如果使用new,很明显地址不同所以是false。而要判断内容是否相同需要使用equals(当然object类里也有equals是比较地址的,但String重写了)。


2.比较大小
与equals不同的是,equals返回的是boolean类型,而compareTo返回的是int类型。具体比较方式:
- 先按照字典次序大小比较,如果出现不等的字符,直接返回这两个字符的大小差值。
- 如果前k个字符相等(k为两个字符长度最小值),返回值两个字符串长度差值。


int compareToIgnoreCase(String str) 方法:与compareTo方式相同,但是忽略大小写比较。


三.字符串查找


四.字符串转换
数字转字符串


字符串转数字


大小写转换


数组字符串转换


格式化


五.字符串替换



六.字符串的拆分
字符串全部拆分


字符串部分拆分


拆分是特别常用的操作 另外有些特殊字符作为分割符可能无法正确切分, 需要加上转义。
拆分ip地址


单独的.是无法识别的,需要使用\进行转义,而\也需要转义,所以就有\表示。
- 字符"|","*","+"都得加上转义字符,前面加上 "\" .
- 而如果是 "" ,那么就得写成 "\\" .
- 如果一个字符串中有多个分隔符,可以用"|"作为连字符
多次拆分


七.字符串的截取


八.其他操作方法

trim


大小写转换

