1.创建字符串String
char a[]={'g','o','o','d'};
String s=new String(a);等价于String s=new String("good");
2.连接字符串
String s=1+2+3+'a'+"b"; //等价于(s=103b;)
String s=1+2+3+"b"; //等价于(s=6b;)String s=1+"b"+2+3; //等价于(s=1b23;)
String s=1+2+"b"+3; //等价于(s=3b3;)
3.获取字符串长度str.length()
String str="We are students";int size=str.length();
4.字符串查找str.indexOf 、str.lastIndexOf();
String str="We are students";int size1=str.indexOf("a"); //变量size1的值为3int size2=str.lastIndexOf("e"); //变量size2的值为11
5.获取指定索引位置的字符str.charAt()
String str="Hello Word";Char c=str.charAt(6); //变量c的值为 W;
6.valueOf
valueOf(int i)返回 int 参数的字符串表示形式。该表示形式恰好是单参数的 Integer.toString 方法返回的结果int 参数的字符串表示形式。int i = 10;String str = String.valueOf(i);这时候 str 就会是 "10"
7.获取字符串str.substring()
String str="Hello Word";String sub1=str.substring(3); //变量sub1的值为 lo WordString sub2=str.substring(0,3); //变量sub1的值为Hel
8.去除空格str.trim()
String str=" Java class ";String len=str.length(); //变量str的长度是18String trim=str.trim().length(); //变量trim的长度是12
9.字符串替换
String str="address";String newstr=str.replace("a","A"); //字符串str中的字符"a"替换成了"A"
10.判断字符串的开始与结尾,并且返回boolean
str.starsWith(String prefix); //prefix是指作为前缀的字符str.endsWith(String suffix); //suffix是指作为后缀的字符。
11.判断字符串是否相等
str.equals(String otherstr); //str、other分别是参见比较的字符串 对象是否相等,不能忽略两个字符串的大小写。str.equalsIgnoreCase(String otherstr); //str、other分别是参见比较的字符串 对象是否相等,并且忽略了两个字符串的大小写。
12.按字典顺序比较两个字符串
str.compareTo(String other) //str、other分别是参见比较的字符串对象,compareTo()方法只有在equals(object)方法返回true时才返回0。对于字符串只比较第一个不相等的字母。列如str="a",other="d"时返回-3,str="d",other="a"是返 回3
13.字母大小写转换
str.toLowerCase() //str是要进行转换的字符串,该方法是将字符串中的所有字符从大写字母改为小写字母str.toUpperCase() //str是要进行转换的字符串,该方法是将字符串中的所有字符从小写字母改为大写字母使用str.toLowerCase()方法,str.toUpperCase()方法进行大小写转换时,数字或非字符不受影响
14.字符串分割
str.split(String sign) //sign为分割字符串的分隔符,也可以是正则表达式str.split(String sign,int limit) //sign为分割字符串的分隔符,也可以是正则表达式 limit:限制分割的次数,一旦次数符合要求便不再分割。
15.日期和时间字符串格式化
Date date=new Date(); //创建Date对象String s=String.format("%te",date)具体需要查看String.format的语法规则
16.常规类型格式化
String str=String.format("%d"400/2); //将结果以十进制格式显示。String str2=String.format("%b",3>5); //将结果以boolean型显示。String str3=String.format("%x",200); //将结果以十六进制格式显示。
17.字符串生成器
- append(content) //其中,content表示要追加到字符串生成器中的内
容,可以是任何类型的数据或者其他对象。StringBuilder builder=new StringBuilder("");for(int i=0;i<10;i++){builder.append(i);} //结果为0123456789
- insert(int offset,arg);
offset:字符串生成器的位置。该参数必须大于等于0,且小于等于此序列的长度arg:将插入字符串生成器的位置。给参数可以是任何的数据类型或其他对象StringBuilder bf=new StringBuilder("hello");bf.insert(5,"word");System.out.println(bf.toString()); //此时输出信息为helloword
- delete(int start,int end)
start:将要删除的字符串的起点位置。end:将要删除的字符串终点位置。StringBuilder bf=new StringBuilder("StringBuilder ");bf.delete(5,10);System.out.println(bf.toString()); //此时输出信息为Strinder
18.StringBuilder 与 StringBuffer的用法
- 如果在程序中频繁的附加字符串,建议使用StringBuilder。新创建的
StringBuilder 对象初始容量是16个字符,可以自行制定初始长度。如果附加的字符超过可容纳的长度,则StringBuilder 对象将自动增加长度以容纳被附加的字符。若要使用StringBuilder 最后输出字符串结果,可使用toString()方法。利用StringBuilder类中的方法可动态的执行添加、删除和插入字符串的操作。
- StringBuffer一个可变的字符序列。此类提供一个与 StringBuffer 兼容的API,
但不保证同步。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比 StringBuffer 要快。将 StringBuilder 的实例用于多个线程是不安全的。如果需要这样的同步,则建议使用 StringBuffer。
- StringBuffer:构造一个其中不带字符的字符串缓存区,起初是容量为16个字符
StringBuffer 上的主要操作是 append 和 insert 方法,可重载这些方法,以接受任意类型的数据。每个方法都能有效地将给定的数据转换成字符串,然后将该字符串的字符追加或插入到字符串缓冲区中。append 方法始终将这些字符添加到缓冲区的末端;而 insert 方法则在指定的点添加字符。