- package com.xzh.day_12;
- import java.util.Arrays;
- public class StringTest {
- public static void main(String[] args) {
- System.out.println("************** 0、构造方法 测试 ***************");
- /*
- 构造方法:
- A:String s = new String();//创建一个内容为空的字符串对象;
- B:String s = new String(byte[] bys);//将一个字节数组转为一个字符串;
- C:String s = new String(byte[] bys,int index,int length);//把一个字节数组从索引为index的位置,截取后面的length个字节元素(包括index位置的元素)。
- D:String s = new String(char[] chs);//将一个字符数组转为一个字符串;
- E:String s = new String(char[] chs,int index,int length);//把一个字符数组从索引为index的位置,截取后面的length个字符元素(包括index位置的元素)。
- F:String s = new String(String str);//初始化一个创建的String对象。
- G:String s = "hello";//直接给一个字符串引用赋值。
- */
- byte[] bys = {97,98,99,100,101,102,103};
- char[] chs = {'A','B','C','D','E','F','G'};
-
- String s = new String();
- String s1 = new String( bys);//abcdefg
- String s2= new String( bys,2,4);//cdef
- String s3 = new String(chs);//ABCDEFG
- String s4 = new String( chs,2,4);//CDEF
- String s5 = new String("HelloWorld");//HelloWorld
- String s6 = "helloworld";
-
- System.out.println("字符串s:" + s);
- System.out.println("字符串s1:" + s1);
- System.out.println("字符串s2:" + s2);
- System.out.println("字符串s3:" + s3);
- System.out.println("字符串s4:" + s4);
- System.out.println("字符串s5:" + s5);
- System.out.println("字符串s6:" + s6);
- System.out.println();
- System.out.println();
-
- System.out.println("************** 1、 判断功能 测试 ***************");
-
- /*
- A:判断功能
- boolean equals(Object obj)//判断两个字符串的内容是否相等,区分大小写;
- boolean equalsIgnoreCase(String str)//判断两个字符串的内容是否相等,忽略大小写。
- boolean contains(String str)//判断本字符串是否包含传入的str字符串。
- boolean startsWith(String str)//判断本字符串是否是以传入的str字符串开始的。
- boolean endsWith(String str)//判断本字符串是否是以传入的str字符串结束的。
- boolean isEmpty()//判断本字符串是否为空。
- */
-
- String s7 = "HelloWorld";
- System.out.println("判断字符串s7:" + s7 + ", 与s5:" + s5 +",是否相等(区分大小写):" + s7.equals(s5));//true
- System.out.println("判断字符串s7:" + s7 + ", 与s6:" + s6 +",是否相等(区分大小写):" + s7.equals(s6));//false
- System.out.println("判断字符串s7:" + s7 + ", 与s6:" + s6 +",是否相等(忽略大小写):" + s7.equalsIgnoreCase(s6));//true
- System.out.println("-------------------");
-
- String s8 = "Hello";
- System.out.println("判断字符串s7:" + s7 + ", 是否包含字符串s8:"+ s8 + "; 结果为= "+ s7.contains(s8));//true
- System.out.println("判断字符串s6:" + s6 + ", 是否包含字符串s8:"+ s8 + "; 结果为= "+ s6.contains(s8));//false ,说明这个是区分大小写的。
- System.out.println("-------------------");
-
- String s9 = "World";
- System.out.println("判断字符串s7:" + s7 +"是以字符串s8:" + s8 + ", 开始的吗?结果 = "+ s7.startsWith(s8));//true
- System.out.println("判断字符串s7:" + s7 +"是以字符串s9:" + s9 + ", 开始的吗?结果 = "+ s7.startsWith(s9));//false
- System.out.println("判断字符串s7:" + s7 +"是以字符串s9:" + s9 + ", 结尾的吗?结果 = "+ s7.endsWith(s9));//true
- System.out.println("判断字符串s7:" + s7 +"是以字符串s8:" + s8 + ", 结尾的吗?结果 = "+ s7.endsWith(s8));//false
- System.out.println("---------------------");
-
- System.out.println("判断字符串s:" + s + "是否为空 = " + s.isEmpty());//true
- System.out.println("判断字符串s9:" + s9 + "是否为空 = " + s9.isEmpty());//false
- System.out.println();
- System.out.println();
-
-
- System.out.println("************** 2、获取功能 测试 ***************");
- /*
- B:获取功能
- int length()//获取本字符串的长度。
- char charAt(int index)//获取本字符串中索引为index位置的字符。
- int indexOf(int ch)//返回指定字符ch在本字符串中第一次出现的索引位置。
- int indexOf(String str)//返回子串str在本字符串中第一次出现的索引位置。
- int indexOf(int ch,int fromIndex)//返回指定字符ch,从指定位置fromIndex起(包含此位置),之后第一次出现的位置索引。
- int indexOf(String str,int fromIndex)//返回指定字符串str,从指定位置fromIndex起(包含此位置),之后第一次出现的位置索引。
- String substring(int start)//在本字符串中,从start索引位置起(包含start)截取一个子串。
- String substring(int start,int end)//在本字符串中,截取从start(包含start)索引位置到end(不包含end)索引位置的一个子串。
- */
- String str1 = "dfoaiogandngandngiaanan";
- System.out.println("s1串:" + s1 +",长度 = "+s1.length());//7
- System.out.println("s3串:" + s3 + ",中索引为3的字符 = " + s3.charAt(3));
- System.out.println("s3中F的位置 = "+s3.indexOf('F'));
- System.out.println("符串str1 = " + str1);
- System.out.println("子串an 在str1中第一次出现的索引位置 = " + str1.indexOf("an"));
- System.out.println("字符g 从指定位置10开始,在str1中第一次出现的索引位置 = " + str1.indexOf('g',10));
- System.out.println("子串an 从指定位置10开始,在str1中第一次出现的索引位置 = " + str1.indexOf("an",10));
- System.out.println("在str1中,从索引位置10截取子串 = " + str1.substring(10));
- System.out.println("在str1中,截取索引位置10 到 15 的子串 = " + str1.substring(10 ,15));
- System.out.println();
- System.out.println();
-
-
- System.out.println("************** 3、转换功能 测试 ***************");
- /*
- C:转换功能
- byte[] getBytes()//把本字符串转换成一个字节数组。
- char[] toCharArray()//把本字符串转换成一个字符数组。
- static String copyValueOf(char[] chs)//把一个字符数组转换成一个字符串。
- static String valueOf(char[] chs)//把一个字符数组转换成一个字符串。
- static String valueOf(int i)//将一个int型数转换成字符串。
- String toLowerCase()//将本字符串中的所有大写字符转换为小写形式。
- String toUpperCase()//将本字符串中的所有小写字符转为大写。
- String concat(String str)//将str字符串,连接到本字符串后。
- */
-
- byte[] b = s6.getBytes();
- System.out.println("字符串s6:"+s6+"; 转换后的字节数组 = " + Arrays.toString(b));
- char[] ch = s6.toCharArray();
- System.out.println("字符串s6:"+s6+"; 转换后的字符数组 = " + Arrays.toString(ch));
- System.out.println("字符数组chs:" + Arrays.toString(chs) +"; 通过copyValueOf()转换的字符串 = " + String.copyValueOf(chs));
- System.out.println("字符数组chs:" + Arrays.toString(chs) +"; 通过valueOf()转换的字符串 = " + String.valueOf(chs));
- int i = 520;
- System.out.println("将整数 i=" + i + "; 通过valueOf()转换的字符串 = " + String.valueOf(i));
- String str2 = "What Has Been Done Is Done";
- System.out.println("字符串str2:" + str2 + "; 通过toLowerCase()转小写后的字符串 = " + str2.toLowerCase());
- System.out.println("字符串str2:" + str2 + "; 通过toUpperCase()转大写后的字符串 = " + str2.toUpperCase());
- System.out.println("把字符串str2:" + str2 + "; 通过concat()连接到字符串s6:" + s6 + "的后面,得到的字符串为:" + s6.concat(str2));
- System.out.println();
- System.out.println();
-
- System.out.println("************** 4、其他功能 测试 ***************");
- /*
- a:替换功能
- String replace(char oldChar,char newChar)//用新的字符newChar,替换本字符串中的所有oldChar字符。
- String replace(String oldString,String newString)//用新的字符串newString,替换本字符串中的所有oldString字符串。
-
- b:切割功能
- String[] split(String regex)//将本字符串中的regex字符串切去,返回一个字符串数组。
-
- c:去除两端空格功能
- String trim()
-
- d:字典顺序比较功能
- int compareTo(String str)//区分大小写条件下,将本字符串与str字符串进行比较。
- int compareToIgnoreCase(String str)//忽略大小写,将本字符串与str字符串进行比较。
- */
-
- System.out.println("把字符串str2:" + str2 + ", 中的字符 s 用字符 v 替换后,得到的新字符串为:" + str2.replace('s', 'v'));
- System.out.println("把字符串str2:" + str2 +", 中的 Done 用 Loved 替换后,得到的新字符串为:" + str2.replace("Done", "Loved"));
- String[] ss = str2.split(" ");
- System.out.println("把字符串str2:" + str2 +", 以空格切割后,得到的新字符串数组 = " + Arrays.toString(ss) );
- String s11 = " my love ";
- System.out.println("把字符串s11:" + s11 +", 两端的空格去掉后,得到的新字符串为:" + s11.trim()+"****");
- System.out.println("将字符串s5:" + s5 + ", 与字符串s6:" + s6+", 比较大小(区分大小写),得到的结果 =" + s5.compareTo(s6));
- System.out.println("将字符串s5:" + s5 + ", 与字符串s6:" + s6+", 比较大小(忽略大小写),得到的结果 =" + s5.compareToIgnoreCase(s6));
- }
- }
复制代码 |
|