1.String对象的比较
1.1“==” 比较是否引用同一个对象
注意:对于内置类型,==比较的是变量中的值;对于引用类型==比较的是引用中的地址。
1.2 boolean equals(Object anObject)方法:按照字典序比较
如果两个字符串的内容不相同(不相同包括,字符不同,长度不同),返回true
另外:
java中还提供了,忽略大小写的比较方法:
str1.equalsIgnoreCase(str2)
示例:
1.3 int compareTo(String s)方法: 按照字典序进行比较
与equals不同的是,compare不返回boolean,而是int。具体比较方式如下:
1. 先按照字典次序大小比较,如果出现不等的字符,直接返回这两个字符的大小差值
2. 如果前k个字符相等(k为两个字符长度最小值),返回值两个字符串长度差值
同样地,compare也有忽略大小写的比较方法:
int compareToIgnoreCase(String str)
用法与上面一样。
2.字符串查找
方法 | 功能 |
char charAt(int index) | 查找index下标的字符,并且返回其字符。如果index为负数或者越界,抛出 IndexOutOfBoundsException异常 |
int indexOf(int ch) | 在字符串中查找字符,ch第一次出现的位置,然后返回下标,没有找到返回-1 |
int indexOf(int ch, int fromIndex) | 从fromIndex位置开始找ch第一次出现的位置,没有返回-1 |
int indexOf(String str) | 返回str第一次出现的位置,没有返回-1 |
int indexOf(String str, int fromIndex) | 从fromIndex位置开始找str第一次出现的位置,没有返回-1 |
int lastIndexOf(int ch) | 从后往前找,返回ch第一次出现的位置,没有返回-1 |
int lastIndexOf(int ch, int fromIndex) | 从fromIndex位置开始找,从后往前找ch第一次出现的位置,没有返 回-1 |
int lastIndexOf(String str) | 从后往前找,返回str第一次出现的位置,没有返回-1 |
int lastIndexOf(String str, int fromIndex) | 从fromIndex位置开始找,从后往前找str第一次出现的位置,没有返 回-1 |
3.字符串转化
3.1数值和字符串转换
3.2大小写转换
s1.toUpperCase(Locale.ROOT) 是转成大写
s2.toLowerCase(Locale.ROOT)是转成小写
3.3字符串转数组
3.4字符串替换
方法 | 内容 |
String replaceAll(String regex, String replacement) | 把一个字符串里的所有子字符串regex,替换成字符串replacement |
String replaceFirst(String regex, String replacement) | 替换首个内容 |
例子:
运行结果:
3.5字符串拆分
方法 | 功能 |
String[] split(String regex) | 将字符串全部拆分 |
String[] split(String regex,int limit) | 将字符串以指定的格式,拆分为limit组 |
不懂没关系,我们来看示例就懂了:
执行结果:
注意:
1.如果出现这种情况
如果打印arr数组,会把所有字符分开(包括空格符):
就很长对吧。
2.如果是这种情况打印呢?
打印出来的是:
hello
world
:吗?
我们来看结果
对不起亲爱的,split很反常识。
我们来看看split到底把什么放进了String[] arr这个数组里
原字符串
中,hello和hello之间有9个空格
然而在监视中我们发现有8个空格,这样看来,上面的打印结果也就不奇怪了。
这是split的一个我自己发现的特点,在做题目时。如果是换成其他的字符分割,同样会出现这种情况。
3.可能出现的转义字符和处理方法
在上面的代码中一定直接用“.”去分割,要用 \\ 转义成 .
注意事项:
1. 字符"|","*","+"都得加上转义字符,前面加上"\\".
2. 而如果是"\",那么就得写成"\\\\".
3. 如果一个字符串中有多个分隔符,可以用"|"作为连字符.
4.可以对字符串多次拆分
这种代码在以后的开发中会经常出现
执行结果:
3.6 字符串截取
方法 | 功能 |
String substring(int beginIndex) | 从指定索引截取到结尾 |
String substring(int beginIndex, int endIndex) | 截取部分内容(不包括endIndex,这个下标,即左闭右开) |
示例:
运行结果
=================
好了,这就是一些常用的字符串操作方法了,不用特意记,多运用,自然就记住了。