InBlock.gifimport java.nio.charset.Charset;
InBlock.gifimport java.nio.charset.UnsupportedCharsetException;
InBlock.gifimport java.util.Locale;
InBlock.gifimport java.util.Date;
InBlock.gifimport java.util.regex.PatternSyntaxException;
InBlock.gif
import javax.xml.crypto.Data;
InBlock.gif
public class Stringxuexi {
InBlock.gif   public static void main(String[] argc)
InBlock.gif  {
InBlock.gif     //charAt(int index) 返回index处的Unicode字符
InBlock.gif    String strCom = "JAVA程序设计";
InBlock.gif    System. out.println(strCom.charAt(4));
InBlock.gif    
InBlock.gif     //codePointAt(int index) 返回index处字符的Unicode编码值
InBlock.gif    strCom = "I like JAVA ,too";
InBlock.gif    System. out.println(strCom.codePointAt(8));
InBlock.gif    
InBlock.gif     //codePointBefore 返回index-1处字符的Unicode编码值
InBlock.gif    System. out.println(strCom.codePointBefore(2));
InBlock.gif    
InBlock.gif     //codePointCount(int beginIndex,int endIndex)方法    返回指定文本范围内Unicode代码点的数量
InBlock.gif    System. out.println(strCom.codePointCount(0, 3));
InBlock.gif    
InBlock.gif    
InBlock.gif     //compareTo(String str)
InBlock.gif     //如果两个字符串不同,那么他们要么在某个索引处的字符不同,要么长度不同,或者同时具备这两种情况
InBlock.gif     //如果在一个或多个索引处字符不同,假设k是这类索引的最小值,那么返回值就是这两个字符串在位置k处
InBlock.gif     //两个char值之差,如果没有字符不同的索引位置,则返回值是两个字符串长度的差
InBlock.gif    System. out.println(strCom.compareTo( "I like PHP"));
InBlock.gif    System. out.println(strCom.compareTo( "I like JAVA too"));
InBlock.gif    
InBlock.gif     //compareToIgnoreCase(String str)    忽略大小写比较字符串大小
InBlock.gif    System. out.println(strCom.compareToIgnoreCase( "I Like PHP"));
InBlock.gif    
InBlock.gif     //concat(String str) 将另一字符串连接在此字符串的后面,如果参数字符串的长度为0,
InBlock.gif     //则返回此字符串,否则创建一个新的String对象
InBlock.gif    System. out.println(strCom.equals(strCom.concat("")));
InBlock.gif    System. out.println(strCom.concat(strCom));
InBlock.gif    
InBlock.gif     //contains(CharSequence s)判断字符串是否包含指定的char值序列
InBlock.gif    System. out.println(strCom.contains( "JAVA"));
InBlock.gif    
InBlock.gif     //valueOf(char []data) 静态方法,返回包含字符数组的字符的字符串
InBlock.gif     char [] array={'山','东'};
InBlock.gif    System. out.println(String.valueOf(array));
InBlock.gif    
InBlock.gif     //valueOf(char[] data,int offset,int count)返回包含字符数组从offset处开始的count个字符
InBlock.gif     //组成的字符串
InBlock.gif    System. out.println(String.valueOf(array, 0, 1));
InBlock.gif    
InBlock.gif     //endwith(String suffix)测试字符串是否是指定的后缀结束
InBlock.gif    System. out.println(strCom.endsWith( "JAVA"));
InBlock.gif    
InBlock.gif     //equals(object obj)    如果给定的对象表示的String与此String相等,则返回true,否则false
InBlock.gif    System. out.println(strCom.equals( "I like JAVA"));
InBlock.gif    
InBlock.gif     //equalsIgnoreCase(String anotherString) //忽略大小写与另一字符串进行比较,注意与equals方法的参数类型不同
InBlock.gif    System. out.println(strCom.equalsIgnoreCase( "I Like JAva"));
InBlock.gif    
InBlock.gif     //format(String format,Object ...args)静态方法    使用指定的格式字符串和参数返回一个格式话字符串
InBlock.gif     //%d 格式化为十进制整数
InBlock.gif     //%o 格式化为八进制整数
InBlock.gif     //%x %X 格式化为十六进制整数
InBlock.gif    
InBlock.gif    System. out.println(String.format( "%e %x %o %d %a %% %n", 15.000,15,15,15,15.0));
InBlock.gif    
InBlock.gif    
InBlock.gif     //format(Locale l,String format,Object ... args)
InBlock.gif     //通过给定的特殊转换符作为参数来实现对日期和时间字符串的格式化
InBlock.gif     //%te 一个月中的某一天
InBlock.gif     //%tb 指定语言环境的月份简称
InBlock.gif     //%tB 指定语言环境的月份全称
InBlock.gif     //%tA 指定语言环境的星期几全称
InBlock.gif     //%ta 指定语言环境的星期几简称
InBlock.gif     //%tc 包括全部日期和时间信息
InBlock.gif     //%tY 4位年份
InBlock.gif     //%ty 二位年份
InBlock.gif     //%tm 月份
InBlock.gif     //%tj 一年中的第几天
InBlock.gif     //%td 一个月中的第几天
InBlock.gif    Date date = new Date();
InBlock.gif    Locale form = Locale.CHINA;
InBlock.gif    String year = String.format(form, "%tY", date);
InBlock.gif    String month    = String.format(form, "%tm", date);
InBlock.gif    String day = String.format(form, "%td", date);
InBlock.gif    System. out.println( "今天是: "+ year + "年"+month+ "月"+day+ "日");
InBlock.gif    System. out.println(String.format(form, "%tc", date));
InBlock.gif    
InBlock.gif     //byte[] getBytes() 得到字符串的byte序列    
InBlock.gif     byte[] str = strCom.getBytes();
InBlock.gif     for ( int i = 0;i < str.length;i++)
InBlock.gif      System. out.print(str[i]+ " ");
InBlock.gif    
InBlock.gif     //getBytes(Charset charset)
InBlock.gif     //getBytes(String string)
InBlock.gif     //得到编码字符集的所得字符序列
InBlock.gif     try {
InBlock.gif      str = strCom.getBytes(Charset.defaultCharset());
InBlock.gif       for ( int i = 0; i < str.length; i++)
InBlock.gif        System. out.println(str[i] + " ");
InBlock.gif    } catch (UnsupportedCharsetException e) {
InBlock.gif       // TODO: handle exception
InBlock.gif      e.printStackTrace();
InBlock.gif    }
InBlock.gif    
InBlock.gif     //getchars(int srcBegin,int srcEnd,char[] dst,int dstBegin)
InBlock.gif     //将字符从此字符串复制到目标字符数组
InBlock.gif     char[] dst = new char[10];
InBlock.gif    strCom.getChars(0, 10, dst, 0);
InBlock.gif     for ( int i = 0; i < dst.length;i++)
InBlock.gif      System. out.print(dst[i]);
InBlock.gif    System. out.println();
InBlock.gif    
InBlock.gif     //hashCode()    返回字符串的哈希码,String对象的哈希码的计算公式是
InBlock.gif     //s[0]*31^(n-1)+s[1]*31^(n-2)+...+s[n-1]
InBlock.gif     //空串的哈希码为0
InBlock.gif    System. out.println(strCom.hashCode());
InBlock.gif    
InBlock.gif     //indexOf(int ch) 获取字符的第一个索引,ch是一个字符,如果没有,返回-1
InBlock.gif    System. out.println(strCom.indexOf('A'));
InBlock.gif    
InBlock.gif     //indexOf(int ch,int fromIndex)    //返回从从指定的索引处开始的指定字符的索引
InBlock.gif     //fromIndex没有限制,如果为负,与0等效,如果大于等于字符串长度,则返回-1
InBlock.gif    System. out.println(strCom.indexOf('A', 9));
InBlock.gif    
InBlock.gif     //indexOf(String str)
InBlock.gif     //indexOf(String str,int fromIndex)
InBlock.gif     //返回指定字符串在此字符串第一次出现处的索引
InBlock.gif    System. out.println(strCom.indexOf( "JAVA"));
InBlock.gif    
InBlock.gif     //intern()    返回字符串对象的规范化表示形式
InBlock.gif     //当调用intern方法时,如果池已经包含一个等于此String对象的字符串,则返回池中的字符串
InBlock.gif     //否则将此字符串对象添加到池中,并返回此String对象引用
InBlock.gif     //了解这个处理机制也可以让我们在用到字符串常量的时候了解如何节省这些字符串所占用的内存。
InBlock.gif    String strCom2 = new String( "I like JAVA");
InBlock.gif    System. out.println(strCom == strCom2);
InBlock.gif    System. out.println(strCom.endsWith(strCom2));
InBlock.gif    System. out.println(strCom.compareTo(strCom2));
InBlock.gif    System. out.println(strCom.intern() == strCom2.intern());
InBlock.gif    String s1 = new String( "你好,Java自由人");
InBlock.gif    String s2 = new String( "你好,") + "Java自由人";
InBlock.gif    System. out.println(s1==s2);
InBlock.gif    System. out.println(s1.intern()==s2.intern());
InBlock.gif    
InBlock.gif     //同indexOf,注意fromIndex 参数,是指从fromIndex处反向搜索
InBlock.gif    System. out.println(strCom.lastIndexOf('A'));
InBlock.gif    System. out.println(strCom.lastIndexOf('A',10));
InBlock.gif    System. out.println(strCom.lastIndexOf( "JAVA"));
InBlock.gif    System. out.println(strCom.lastIndexOf( "JAVA", 10));
InBlock.gif    
InBlock.gif     //返回字符串长度
InBlock.gif    System. out.println(strCom.length());
InBlock.gif    
InBlock.gif     //matchs(String regex)匹配正则表达式
InBlock.gif     try {
InBlock.gif      String regex = "1234";
InBlock.gif      System. out.println(regex.matches( "\\d{4}"));
InBlock.gif      System. out.println(regex.replaceAll( "\\d{4}", "chen"));
InBlock.gif      System. out.println(regex.replaceFirst( "\\d{4}", "chen"));
InBlock.gif    } catch (PatternSyntaxException e) {
InBlock.gif       // TODO: handle exception
InBlock.gif      e.printStackTrace();
InBlock.gif    }
InBlock.gif    
InBlock.gif     // offsetByCodePoints(int index,int codePointOffset)
InBlock.gif     //返回从给定的index处偏移codePointOffset个代码点的索引
InBlock.gif    System. out.println(strCom.offsetByCodePoints(7, 4));
InBlock.gif    
InBlock.gif     //测试两个字符串区域是否相等,第一个参数为true时表示忽略大小写
InBlock.gif    System. out.println(strCom.regionMatches( true, 0, "I lIke", 0, 3));
InBlock.gif    System. out.println(strCom.regionMatches(0, "I like", 0, 3));
InBlock.gif    
InBlock.gif    System. out.println(strCom.replace('A', 'a'));
InBlock.gif    System. out.println(strCom.replace( "JAVA", "PHP"));
InBlock.gif    
InBlock.gif     //String[] split(String regex,int limit)
InBlock.gif     //按指定的分隔符会字符串内容分割并存放到字符串数组中,limit为控制模式应用次数
InBlock.gif    String[] info = strCom.split( " ,");
InBlock.gif     for ( int i = 0; i < info.length;i++)
InBlock.gif      System. out.println(info[i]);
InBlock.gif    
InBlock.gif    info    = strCom.split( " ", 2);
InBlock.gif     for ( int i = 0; i < info.length;i++)
InBlock.gif      System. out.println(info[i]);
InBlock.gif    
InBlock.gif     //startsWith(String prefix,int toffset)//判断是否以指定前缀开始
InBlock.gif     //toffset为负或大于字符串长度结果为false
InBlock.gif    System. out.println(strCom.startsWith( "I"));
InBlock.gif    System. out.println(strCom.startsWith( "I",-1));
InBlock.gif    
InBlock.gif     //CharSequeuece subSequeuece(int beginIndex,int endIndex)
InBlock.gif     //返回一个新的字符序列
InBlock.gif    System. out.println(strCom.subSequence(2, 6));
InBlock.gif    
InBlock.gif     //String substring(int beginindex,int endIndex)
InBlock.gif     //返回子字符串
InBlock.gif    System. out.println(strCom.substring(2));
InBlock.gif    System. out.println(strCom.substring(2, 6));
InBlock.gif    
InBlock.gif     //toCharArray() 字符串变字符数组
InBlock.gif     char[] str1 = strCom.toCharArray();
InBlock.gif     for ( int i = 0; i < str1.length;i++)
InBlock.gif      System. out.print(str1[i]+ " ");
InBlock.gif    System. out.println();
InBlock.gif    
InBlock.gif     //toLowerCase(Locale locale) 将字符串中的所有字符变成大/小写返回新的字符串
InBlock.gif    System. out.println(strCom.toLowerCase());
InBlock.gif    System. out.println(strCom.toUpperCase());
InBlock.gif    System. out.println(strCom.toUpperCase(form));
InBlock.gif    System. out.println(strCom.toLowerCase(form));
InBlock.gif    
InBlock.gif     //trim()方法取出字符串的前后空白
InBlock.gif    System. out.println(( "    "+strCom).trim());
InBlock.gif    
InBlock.gif     //valueOf()     静态方法 实现基本数据类型转成字符串
InBlock.gif    System. out.println(String.valueOf( true));
InBlock.gif    System. out.println(String.valueOf('A'));
InBlock.gif    System. out.println(String.valueOf(12.0));
InBlock.gif  }
InBlock.gif}