赞
踩
目录
1.2.2 compareTo 与 compareToIgnoreCase
1.4.2 toUpperCase 与 toLowerCase
1.6.2 replaceFirst 与 replaceALL
2.4 StringBuffer类型 ==> String类型
String类 定义的字符串是不可变的.
1. 第一个 final 表示这个类不能够再被其他类继承.
2. 第二个 final 表示 value 这个值是常量, 不能够进行修改, 但是可以修改value这个引用指向的对象中的值.(也就是说这个数组中的值是可以修改的, 但是value的值不能被修改)
3. private才是String类定义的字符串不可变的真正原因.
被private修饰 表示这个成员变量只能够在当前类中进行访问, 所以value指向的对象(数组)中的值在String类外不能够被修改. 这也是 String定义的字符串是不可变的根本原因.
equals 方法 来比较两个字符串的内容是否相等, 返回值是boolean类型.
结果为: false false
a. name == name2 比较两个字符串的地址是否相等.
b. name.equals(name2) 比较两个字符串的内容是否相等.
compareTo 方法:比较两个字符串的大小 (大小写敏感).
compareToIgnoreCase 方法: 也是比较两个字符串的大小, 但是忽略大小写.
返回值是整型.
结果为: > <
compareTo重写了 Comparable 接口中的抽象方法.
compareToIgnoreCase 本质上调用的是 Comparator接口中的compare方法.
charAt 返回的是字符串中指定下标的字符.(char)
返回值是 char字符类型
结果为: 字符b
需要知道的是: 字符串中没有下标, 本质上是 value 字符数组中对应的下标.
indexOf: 是从前往后找
lastIndexOf: 从后往前找
返回值是整形, 下标, 没有找到时返回 -1.
结果为: 2 0 2
这两个方法 也支持在一定范围内查找.
String.valueOf(): 将其他类型的数据转换为字符串, 返回值是字符串.
结果是: 1001 9.91
valueOf这个方法, 前面的类是表示什么类型的, 就是将后面的数据转换为什么类型.
toUpperCase: 将小写字母转换为大写字母.
toLowerCase: 将大写字母转换为小写字母.
结果是: NMBG11 nmbg22
只转换字母, 其他字符不变.
format方法: 将字符串格式化, 返回值是一个字符串.
结果是: 2024年5月28日
类似于 System.out.printf() 方法.
replace: 以指定内容来替换字符串中全部的指定内容. (字符串, 字符都可以)
返回值是字符串
结果为: CSDN11 hmbg11
支持 字符串替换字符串, 字符替换字符.
replaceFirst: 以指定内容来替换字符串中第一次出现的指定内容. (只能字符串)
replaceAll: 以指定内容来替换字符串中全部的指定内容. (只能字符串)
返回值都是字符串.
结果为: hahaabcabcd hahahahachahacd
注意: replaceFirst 与 replaceAll 都是只能够替换字符串
split: 根据指定内容来分割字符串. 返回值是 字符串数组.
结果是: hello w orld (一个个字符串).
substring: 截取指定区间内的字符串, 返回值是字符串. (注意前闭后开区间)
结果是: mbg (前闭后开区间)
trim: 清除字符串左右两边的空格, 返回值是字符串.
结果是: nm bg 11 (两边没有空格)
String类中的 方法, 凡是涉及到需要修改原字符串内容的, 都是生成了一个新的字符串.
StringBuffer类定义的字符串是可变的, 直接对原字符串进行修改.
insert: 在字符串中的指定位置插入字符串, 对原字符串进行了修改.
返回值是 StringBuffer类型.
结果是: hellonmbg11 hellonmbg11
可以发现, 原字符串真的发生的改动.
append: 在原字符串末尾插入指定内容, 尾插.
返回值是 StringBuffer类型.
结果是: hellonmbg11 hellonmbg11
delete: 删除原字符串中指定区间内中的内容, 返回值是StringBuffer类型.
结果是: heo
前闭后开区间
toString 方法: 将StringBuffer类型的字符串 转换为 String类型的字符串.
返回值是 String类型.
结果是: hello (String类型)
a. StringBuffer定义的字符串 直接在原字符串上进行修改.
b. StringBuffer 用于多线程. (后面会讲到)
StringBuilder类定义的字符串是可变的, 直接在原字符串上修改.
StringBuilder中的大多数方法与StringBuffer中的方法是一致的, 用法也一致.
a. StringBuilder定义的字符串 直接在原字符串上进行修改.
b. StringBuilder 用于单线程 (后面会讲到).
a. String类定义的字符串是不可变的, 凡是涉及到修改字符串的, 都是生成了一个新的字符串.
b. StringBuffer类 和 StringBuilder类定义的字符串是可变的, 直接在原字符串上修改.
c. StringBuffer类 用于多线程.
d. StringBuilder类 用于单线程.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。