1.字符串的构造
常用的有三种方法:
1.使用常量串构造
2.直接newString对象
3.使用字符数组进行构造
2.String对象的比较
2.1==比较是否引用同一个对象
对于基本类型变量,== 比较两个变量中存储的值是否相同。
对于引用类型变量,==比较两个引用变量引用的是否为同一个对象
注意 :String是引用类型,本身并不存储字符串本身。存啥自己看吧,爷说不上来。
2.2equals
如果要比较String类所指向的内容是否相等就用.equals.
2.2.1求字符串长度
2.2.2isEmpty
isEmpty的作用就是判断字符串内容是否为空,若为空则返回true,若不为空则返回false.
,注意:当一个String对象存了一个空格时,判定不为空,因为有长度,而isEmpty就是依靠字符串长度来判定是否为空。如下图:
2.2.3equalsIgnoreCase
同样用于比较两个字符串是否相等,但是可以忽略大小写不计,如下图:
2.2.4compareTo
比较两个字符串然后返回它们两个之间的差值。注意:是只计算两个字符串之间第一个不同的字符的ASCII的差值,如下图:
str1-str2=-32;
因为A的ascii值为65,a的ascii值为97,65-97=-32.
2.2.5compareToIgnoreCase
效果跟compareTo差不多,但是忽略大小写。
2.3字符串查找
2.3.1charAt
传下标,找字符,如下图:
2.3.2indexof
1.(int ch)与上面这个相反,这个是传字符,找下标,如果要找的字符在该字符串有多个就取第一次出现的下标,如下图:
2.(int ch,int formindex)
比第一个高级一点,第二个参数用来指定起始位置
查找。
3.(String str)
查找对象换成了字符串。
4.()String str,int formindex )
同理,多一个参数用来指定起始查找位置。
2.3.3lastindexof
1.(int ch)
唯一区别就是倒着数
2.(int ch,int fromindex)
唯一区别就是倒着数
3.(String str)
唯一区别就是倒着数
4.(String str,int formindex)
唯一区别就是倒着数
2.4转化
2.4.1数值和字符串的转换
String.valueof
由上图可见,valueof可以将很多数据转成字符串,包括int char ,long等等,如下图就是将int 转换成字符串。
注意:在转换类为字符串后,如果想sout看效果,要在该类中重写toString方法,否则打印出来的就是一个地址。
2.4.2大小写转换
toUpperCase:把字符串全部转成大写,
表面上看是这样,但要记住,它并不是在直接将原字符串修改为大写,而是产生了一个新的对象。如下图:
toLowerCase:把字符串全部转成小写,
2.4.3字符串转数组
toCharArray:将字符串转成数组形式
2.4.4格式化
String.format(“格式化形式”,数据);
记得拿字符串接收
例如:
2.5字符串替换
replace
1.(char oldhar,char newChar)
将字符串中的oldChar全部替换为newChar
2.(CharSequence target,CharSequence replacement)
一样,只不过换的是字符串(替换与被替换长度可以不一样)
replaceFirst
这个也是换,字符字符串都能换,不过只换首个目标