String类的操作
1.获取字符串长度和在一个字符串中获取某个单个字符。
2.字符串连接(concat)
3.在一个字符串中找出一个字符或一个子串的位置
4. 比较(equals、compareTo)
5. 子串(substring(index)、substring(start, end))
6. 字符串转换
7. 字符串和数组之间的转换
8. 将字符和数值转换成字符串
【字符串长度、字符以及组合字符串】
int length():返回字符串的长度
char charAt(int index):返回字符串中index位置上的字符
String concat(String s):回连接这个字符串和字符串s所构成的新字符串。
【获取字符串长度】
使用length()
方法获取字符串的长度:
【在字符串中获取单个字符】
不能使用message[0]
使用message.charAt(index)
下标index从0开始
【字符串连接】
String s3 = s1.concat(s2);
或
Sreing s3 = s2 + s3;
s1+s2+s3+s4+s5
等价于(((s1.concat(s2)).concat(s3)).concat(s4)).concat(s5);
【找出字符串中的某个字符或者某个子串】
int indecOf (char ch)
:返回字符ch在字符串中第一次出现的位置int indexOf (char ch,int from)
:返回字符ch在字符串中from以后第一次出现的位置int lastIndexOf (char ch)
:返回字符ch在字符串中最后一次出现的位置int lastIndexOf (char ch,int from)
:返回字符ch在字符串中from以前最后一次出现的位置
【字符串比较】
- ==
判断比较的是两个字符串是否引用同一个对象 - boolean equals(String s)方法
比较某一字符串是否与字符串s的内容相同。 - int compareTo(String abotherString)
按字典顺序比较两个字符串。 - int compareToIgnoreCase(String str)
按字典顺序比较两个字符串,不考虑大小写。
【获取子串】
- String substring(int begin):返回从begin开始的子串
- String substring(int begin,int end):用来得到字符串中指定范围内的子串
【字符串的转换、替换和分割】
- String toLowerCase()
将此字符串中的所有字符都转换为小写 - String toUpperCase()
将此字符串中的所有字符都转换为大写 - String trim()
返回去掉两端的空白字符之后的新字符串 - String replace(char oldChar,char newChar)
返回一个新的字符串,它是通过用newChar替换此字符串中出现的所有oldChar得到的。
【String类对象与其它数据的转换】
字符串与基本数据类型的转换
(1) 从基本类型到字符串的转换
String类的valueOf()提供转换。
(2) 字符串到基本数据类型的转换
① 先转换成相应包装类实例,再调用包装类方法转换。
Public static 类型名 valueOf(String s)
② 静态parseXXX方法
该方法可直接将字符串转换为指定的基本数据类型。
基本数据类型(byte short int long float double char boolean)不能像使用对象一样去使用它们,对它们做一些个别的操作。所以Java对每个基本类型设定了一个包装类,如果是完整的单词,首字母大写即可;缩写转换成完整单词后首字母大写。(Byte Short Integer Long Float Double Character Boolean)这就是包装类,包装类与基本类型之间,包装类的对象可以拆包为基本类型数据进行加减乘除这样的运算;一个基本类型也可以自动的包装为包装类的对象去处理
字符串与数组的转换
(1) 字符数组到字符串的转换
① String(char []chars)
② Static String valueOf(char[] data)
(2) 字符串到字符数组的转换
Public char[] toCharArray()
String与StringBuffer/StringBuilder的转换
(1) String到StringBuffer/StringBuilder的转换
public StringBuffer(String str)
public StringBuilder(String str)
该字符串的初始容量为16加上字符串参数的长度
(2) StringBuffer/StringBuilder到String的转换
① 使用String类构造方法
String(StringBuffer buffer)
String(StringBuilder builder)
② 使用StringBuffer/StringBuilder的toString()方法
Public String toString()
【StringBuffer/StringBuilder类】
StringBuffer/StringBuilder类是可以替代String类的另一种处理字符串的解决方案。
在StringBuilder上的主要操作是append和insert方法:
append方法始终将这些字符添加到生成器的末端;
insert方法则在指定的点添加字符。
【StringBuilder的常用构造方法】
StringBuilder()
构造一个不带任何字符的字符串生成器,其初始容量为16个字符。
StringBuilder(int capacity)
构造一个不带任何字符的字符串生成器,其初始容量由capacity参数指定。
StringBuilder(String s)
构造一个字符串生成器,并初始化为指定的字符串内容。
【StringBuilder的常用方法】
- StringBuilder append(primitiveType v)将一个基本类型值作为字符串追加到此字符串序。
- StringBuilder append(String str)将一个字符串追加到此字符串。
- StringBuilder delete(int start,int end)移除此序列的子字符串中的字符。
- StringBuilder deleteCharAt(int index)移除此序列指定位置上的字符。
- StringBuilder insert(int offset,PrimitiveType v)将v参数的字符串表示形式插入此字符序列位置偏移量处。
- StringBuilder insert(int offset,String s)将字符串插入此字符串序列位置偏移量处。
- StringBuilder reverse()将此字符序列用其反转形式取代。