package com.neusoft.String;
/**
* String类中的方法
*/
public class StringTest
{
public static void main(String[] args)
{
String str="Hello Java,Hello World!";
char ch=str.charAt(0);//返回下标索引处的字符
System.out.println("charAt:"+ch);//charAt:H
//字符串数组是.length()而数组是.length是有区别的
//java中遍历字符串的三种方法
//方法一 .length(), charAt()
for(int i=0;i<str.length();i++)
{
System.out.print(str.charAt(i));
}
System.out.println();
//方法二 .length(), substring(i ,i+1)
for(int i=0;i<str.length();i++)
{
System.out.print(str.substring(i, i+1));
}
System.out.println();
//方法三 .toCharArray()
char[] c = str.toCharArray();
for(int i=0;i<c.length;i++)
{
System.out.print(c[i]);
}
System.out.println();
String str1="123abc";
System.out.println("concat:"+str.concat(str1));//将指定字符串连接到此字符串的结尾
System.out.println("contains:"+str.contains("123"));//当且仅当此字符串包含指定的 char 值序列时,返回 true。
System.out.println("startsWith:"+str.startsWith("Hel"));//测试此字符串是否以指定的前缀开始。
System.out.println("endsWith:"+str.endsWith("ld"));//测试此字符串是否以指定的后缀结束。
String str2="abc";
String str3="Abc";
System.out.println("equals:"+str2.equals(str3));//将此字符串与指定的对象比较。
System.out.println("equalslgnoreCase:"+str2.equalsIgnoreCase(str3));//将此 String 与另一个 String 比较,不考虑大小写。
int i=1;
int j=1;
System.out.println(i+"+"+j+"="+(i+j));//这样太麻烦了,如果有表达式容易出错
System.out.println(String.format("%d+%d=%d", i,j,i+j));//使用指定的格式字符串和参数返回一个格式化字符串。
byte[] bys=str.getBytes();//使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
System.out.println("indexOf:"+str.indexOf("Hel"));//返回指定字符在此字符串中第一次出现处的索引。
System.out.println("lastIndexOf:"+str.lastIndexOf("Hel"));//返回指定子字符串在此字符串中最右边出现处的索引。
//String str4=null;//不对,下面会报java.lang.NullPointerException
String str4="";
System.out.println("isEmpty:"+str4.isEmpty());//当且仅当 length() 为 0 时返回 true。
System.out.println("length:"+str.length());//返回此字符串的长度。
System.out.println("replace:"+str.replace('a', '2'));//替换此字符串中出现的所有 oldChar
System.out.println("substring:"+str.substring(2, 11));//[) >=2 <10 返回一个新字符串,它是此字符串的一个子字符串。
System.out.println("==============================");
char[] chs=str.toCharArray();
for(int m=0;m<chs.length;m++)
{
System.out.print(chs[m]);
}
System.out.println();
System.out.println("toLowerCase:"+str.toLowerCase());//将此 String 中的所有字符都转换为小写。
System.out.println("toUpperCase:"+str.toUpperCase());//大写
String str5=" aaa bbb ccc ";
System.out.println("111:"+str5+":2222");
System.out.println("111:"+str5.trim()+":2222");//返回字符串的副本,忽略前导空白和尾部空白。
String.valueOf(true);//其他数据类型转换成字符串
/*System.out.println("===========================");
String[] strs=str.split(" ");//根据给定正则表达式的匹配拆分此字符串
for(String item:strs)
{
System.out.println(item);
}*/
//String str6="a^b^c^d";
String str6="a*b*c*d";// * + | ^
String[] strs=str6.split("\\*");//根据给定正则表达式的匹配拆分此字符串
for(String item:strs)
{
System.out.println(item);
}
CharSequence cs=str;
}
}
package com.neusoft.String;
public class StringBufferTest
{
public static void main(String[] args)
{
StringBuffer sb=new StringBuffer("abc");
sb.append("cde").append("def").append("123");//追加
System.out.println(sb.toString());//abccdedef123
sb.delete(1, 3).delete(1, 3).delete(1, 4);//删除
System.out.println(sb);//af123
sb.insert(1, "222").insert(1, "333").insert(1, "zzz");//插入
System.out.println(sb);//azzz333222f123
sb.setCharAt(2, '9');//修改
System.out.println(sb.toString());//az9z333222f123
sb.replace(1, 3, "mm").replace(1, 3, "qq");//替换
System.out.println(sb.toString());//aqqz333222f123
sb.reverse().insert(1, "ss");//反转 后再 插入
System.out.println(sb.toString());//3ss21f222333zqqa
StringBuffer sb1=new StringBuffer("abc");
StringBuffer sb2=new StringBuffer("abc");
System.out.println(sb1.toString().equals(sb2.toString()));//true
}
}