String类
java.lang.Object的子类
java.lang.String
1.String类的创建
String s = new String("abc"); String s = "abc";
2.String类的常用的构造方法
1>public String(char[] value) eg: char[] ch ={'a','b','c','d','e','f','g' }; 2>public String(char[] value,int offset,int count) offset参数是子数组第一个字符的索引,count参数指定子数组的长度; eg:原数组:char[] ch ={'a','b','c','d','e','f','g' }; char str = new String(ch,2,3); 子数组:str = {'c','d','e' }; 3>public String(byte[] byst) 使用默认的解码,将字节数组解码成String eg:byte[] arr = {97,98,99,100,101};//对应abcde 如果将97-101换成非Ascii码,可能就会报错,byte只能使用 eg2: using System.Text; byte[] b=Encoding.ASCII.GetBytes("yourstring"); // 得到:121,111,117,114,115,116,114,105,110,103 /反向为: byte[] b=new byte[]{121,111,117,114,115,116,114,105,110,103}; string str=Encoding.ASCII.GetString(b); //得到:str="yourstring" 4>public String(byte[] bys,int offset,int count) 使用字节数组的一部分构建字符串; 5>public String(String original) //用一个原始字符串构建一个新字符串(即原字符串的副本)
3.String类的部分方法
1> public int length() 返回此字符串的长度(字符个数) eg:String s = "nanjing.guiyang"; s.length();//15 2> public char charAt(int index) 返回指定索引处的 char 值。索引范围为从 0 到 length() - 1。序列的第一个 char 值位于索引 0 处,第二个位于索引 1 处,依此类推,这类似于数组索引。 eg:String s = "nanjing.guiyang"; s.charAt(1);//a eg2: 用charAt()遍历字符串 1.String s = "nanjing.guiyang"; 2.for (int i=0;i<s.length();i++){ 3.System.out.print(s.charAt(i)+" "); 3> public char[] toCharArray() eg:用toCharArray遍历整个数组 1.String s = "nanjing.guiyang"; char[] str=s.toCharArray(); for(int i=0;i<str.length;i++){ System.out.print(str[i]+" "); } 4>public int indexOf(String str) 指定字符串在此字符中第一次出现的索引 1.String s = "nanjing.guiyang"; 2.String leo9257 ="ang"; 3.System.out.println(s.indexOf("ang"));//12 4.System.out.println(s.indexOf("leo9257"));//12 5>public boolean startsWith(String str); 测试此字符串是否以指定的字符串开始 1.String s = "nanjing.guiyang"; 2.System.out.println(s.startsWith("nan"));//true 3.System.out.println(s.startsWith("gui"));//false 6>public boolean endsWith(String str); 1.String s = "nanjing.guiyang"; 2.System.out.println(s.startsWith("yang"));//true 7>public String[] split(String rex); 1.String s = "nanjing.guiyang"; 2.String[] s1=s.split(" \\.");//正则表达式中去除.需要两行右斜线 3.for(int i=0;i<s1.length;i++){ 4. System.out.print(s1[i]+" ");//nanjing guiyang 5.} 8>public String substring(int beginIndex); //public String substring(int beginIndex,int endIndex); 1.String s = "nanjing.guiyang"; 2.String s2 = s.substring(3); 3.String s3 = s.substring(3, 8); 4.System.out.println(s2+"\r\n"+s3);//jing.guiyang jing.
4.==和equals区别
==对于引用数据类型,比较的是地址值
equals方法:先比较地址值;若地址值不同,再比较字符序列.