- class StringTest2
- {
- public static void main(String[] args)
- {
- String s = " Hello Java ";
- Sop.sop(s);
- //获取长度
- Sop.sop("1.长度为="+s.length());
- //指定位置的字符
- Sop.sop("2.角标为10的字符为"+s.charAt(s.length()-4));
- //指定字符的位置
- Sop.sop("3.l的位置在"+s.indexOf('l'));
- Sop.sop("3.第二个a的位置在"+s.indexOf('a',10));
- Sop.sop("3.a的位置在"+s.indexOf(97));
- Sop.sop("3.a的位置在"+s.indexOf(97,8));
- //判断是否包某字符串
- Sop.sop("是否存在World="+s.contains("World"));
- //判断是否为空
- Sop.sop("是否为空="+s.isEmpty());
- //判断是否以特定字符串为起始或结尾
- Sop.sop("是否以空字符开头="+s.startsWith(" "));
- Sop.sop("开头第三个字符是不是I="+s.startsWith("H",2));
- Sop.sop("是否以空字符结尾="+s.endsWith(" "));
- //判断是否相等
- Sop.sop("s与s1是否相等="+s.equals(" HELLO JAVA "));
- Sop.sop("s与s1是否相等(忽略大小写)="+s.equalsIgnoreCase(" HELLO JAVA "));
- char[] arr = {'H','e','l','l','o',' ','J','a','v','a'};
- //构造函数方法将字符数组转成字符串
- Sop.sop(new String(arr));
- Sop.sop(new String(arr,6,4));
- //静态方法将字符数组转成字符串
- Sop.sop("copyValueOf:"+String.copyValueOf(arr));
- Sop.sop("copyValueOf:"+String.copyValueOf(arr,0,5));
- Sop.sop("valueOf:"+String.valueOf(arr));
- Sop.sop("valueOf:"+String.valueOf(arr,0,5));
- //字符串转成字符数组
- char[] chs = s.toCharArray();
- for (int x =0;x<chs.length ;x++ )
- {
- Sop.sop("chs"+x+"="+chs[x]);
- }
- //基本类型转换成字符串
- String s1 = 3+"";
- String s2 = String.valueOf(3);
- Sop.sop("s1与s2是否相等="+s1.equals(s2));
- //替换
- String s3 = s.replace('a','n');
- String s4 = s.replace("Java","World");
- Sop.sop("s3="+s3);
- Sop.sop("s4="+s4);
- //切割
- String[] arr1 = s.split(" ");
- for (int x=0; x<arr1.length;x++ )
- {
- System.out.println("arr1-"+x+"="+arr1[x]);
- }
- //获取子串
- Sop.sop(s.substring(6));
- Sop.sop(s.substring(2,5));
- //大小写转换
- Sop.sop(s.toUpperCase());
- Sop.sop(s.toLowerCase());
- //去除空格
- Sop.sop(s.trim());
- //对两个字符串进行自然顺序的比较
- Sop.sop("s比s4大"+s.compareTo(s4));
- }
- }
- class Sop
- {
- public static void sop(String str)
- {
- System.out.println(str);
- }
- }
复制代码 有一点不是很明白: 用静态方法将字符数组转成字符串中的 copyValueOf和ValueOf 有什么区别呢?
|