------- android培训、java培训、期待与您交流! ----------
1.String类是对字符串事物的描述,该类定义了专门用于操作字符串的方法。
String类复写了Object类中的equals方法,用于判断字符串是否相同。
字符串最大特点:一旦被初始化就不可以被改变。
2.String类常见的操作:
(1)获取
1.1 字符串中包含的字符数,即字符串长度。int length()
1.2 根据位置获取位置上的字符。char charAt(int index)
1.3 根据字符获取该字符在字符串中的位置。int indexOf(int ch)返回的是ch在字符串第一次出现的位置。
int indexOf(int ch,int fromIndex)从fromIndex开始,获取ch在字符串中出现的位置。int indexOf(String str)返回的是str在字符串中第一次出现的位置。int indexOf(String str,int fromIndex)。int lastIndexOf(int ch)返回的是ch在字符串最后一次出现的位置。
(2)判断
2.1 字符串中是否包含某一子串。boolean contains(str),indexOf(str)可以索引str第一次出现的位置,如果返回值为-1,表示该str在字符串中不存在,既可以判断,也可以获取出现的位置。
2.2 字符串中是否有内容。boolean isEmpty()判断长度是否为0
2.3 字符串中是否以指定内容开头。boolean startsWith(str)
2.4 字符串中是否以指定内容结尾:boolean endsWith(str)
2.5 判断字符串内容是否相同:boolean equals(str)
2.6 判断字符串内容是否相同,并忽略大小写:boolean equalsIgnoreCase(str)
(3)转换
3.1 将字符数组转化成字符串:构造函数String(char[]),String(char[] value,int offset,int count)将字符数组中的一部分转换成字符串。offset参数是子数组第一个字符的索引,count表示子数组的长度;静态方法:static String copyValueOf(char[]),static String copyValueOf(char[] value,int offset,int count),static String valueOf(char[])
3.2 将字符串转换成字符数组:char[] toCharArray()
3.3 将字节数组转成字符串:String(byte[]),String(byte[],int offset,int count)
3.4 将字符串转成字节数组:byte[] getByte();
3.5 将基本数据类型转成字符串:static String valueOf(int/double)
(4)替换:String replace(oldchar,newchar)
(5)切割:String[] split(regex)
(6)子串:String substring(begin),String substring(begin,end):包含头不包含尾
(7)转换,去除空格,比较
7.1 将字符串转成大写或小写:String toUpperCase(),String toLowerCase()
7.2 将字符串两端的多个空格去除:String trim()
7.3 对两个字符串进行自然顺序的比较:int compareTo(str)
3.获取一个字符串在另一个字符串出现的次数。
public class StringTest {
/**
* 获取一个字符串在另一个字符串中出现的次数。
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String str="aabbccddeeffffffddddcc";
int count=getSubCount(str,"dd");
System.out.println(count);
}
public static int getSubCount(String str,String key)
{
int count=0;
int index=0;
while((index=str.indexOf(key))!=-1)//判断str是否有key
{
str=str.substring(index+key.length());
count++;
}
return count;
}
}
4.StringBuffer(字符串缓冲区)
是一个容器:长度是可变的,可以操作多个数据类型,最终会通过toString方法变成字符串。
常见的操作:
(1)存储:StringBuffer append():将指定数据作为参数添加到已有数据结尾处。StringBuffer insert(index,数据)可以将数据插入到指定位置。
(2)删除:StringBuffer delete(start,end)删除缓冲区数据,包含头,不包含尾。StringBuffer deleteCharAt(index)删除指定位置的字符。
(3)获取:char charAt(int index);int indexOf(String str);int lastIndexOf(String str);int length();String substring(int start,int end)
(4)修改:StringBuffer replace(start,end,string);void setCharAt(int index,char ch)
(5)反转:StringBuffer reverse()
(6)将缓冲区中指定的数据存储到指定字符数组中:void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
JDK1.5版本之后出现了StringBuilder:StringBuffer是线程同步的,StringBuilder是线程不同步的,建议使用StringBuilder。
5.基本数据类型
基本数据类型对象包装类的最常见作用就是用于基本数据类型和字符串类型之间做转换。
基本数据类型+“”;基本数据类型.toString(基本数据类型值)。
字符串转成基本数据类型:
xxx a = Xxx.parseXxx(String);
int a = Integer.parseInt("123");
double b = Double.parseDouble("12.23");
boolean b = Boolean.parseBoolean("true");
Integer i = new Integer("123");
int num = i.intValue();
十进制转换其他进制:
tobinaryString()
toHexString()
toOctalString()
其他进制转成十进制
parseInt(string,radix)