在java语言中,字符串不需要任何字符来定界字符序列的首部和尾部。
字符串声明和实例化:
- 声明一个数组,并分配内存空间,将hello world 存入
- String s1 = “hello world”;
2. 声明一个数组,并分配内存空间,但未赋值,此时内存存储一个空串
String s2 = new String();
3.声明一个数组,并分配内存空间,同时克隆字符串常量 information 到分配的内存空间。
String s3 = new String (“information”);
4. 声明一个字符串,并分配内存空间,使用字符数组初始化字符串填充到内存空间。
char[] cs = {‘b’,’o’,’y’};
String s4 = new String (cs);
5. 声明一个字符串,并分配内存空间。使用字符数组中从位置2开始,获取 3 个数组元素初始化字符串填充到内存空间。
String(char a[],int startIndex,int count)提取字符数组a中的一部分字符创建一个字符串对象,参数startIndex和count分别指定在a中提取字符的起始位置和从该位置开始截取的字符个数,例如
char[] a = {‘s’,’t’,’b’,’u’,’s’,’n’};
String s = new String(a,2,3); 上述过程相当于 String s = “bus”;
方法:
1. length() 返回字符串长度(包含的字符数)
2. equals(String s) 如果当前字符串与目标字符串s 完全相同,返回true,否则返回 false。
3. startsWith(String s) 判断当前字符串是否由目标字符串s 开头,如果是返回 true ,否则返回false。
4. endsWith(String s) 判断当前字符串是否由目标字符串s 结尾,如果是返回 true ,否则返回false。
5. compareTo(String s) 当前字符串与目标字符串s 按字典序比较,如果当前字符串与s 相同返回 0,如果大于s,返回正数,否则返回负数。
6. indexOf(String s) 从当前字符串的起始位置检索目标字符串s 第一次出现的位置(从0开始计数),如果没有检索到s 返回 -1.
7. lastIndexOf(String s) 从当前字符串的起始位置检索目标字符串s 最后一次出现的位置(从0开始计数),如果没有检索到s 返回 -1.
8. indexOf(String s,int start) 从当前字符串的start位置检索目标字符串s 第一次出现的位置(从0开始计数),如果没有检索到s 返回 -1.
9. lastIndexOf(String s,int end) 从当前字符串的起始位置开始,到end位置结束,检索目标字符串s 最后一次出现的位置(从0开始计数),如果没有检索到s 返回 -1.
10.substring(int start) 返回当前字符串从start开始截取到当前字符串末尾的部分。
11.substring(int start,int end) 返回当前字符串从start开始截取到end之前的部分。
12.replaceAll(String old,String new)返回当前字符串用new替代old的结果。
13.trim() 返回当前字符串去掉起始和结束位置的的全部空格的字符串。
14.split(String sign) 返回一个数组,该数组有目标字符串根据sign拆分得到
15.regionMatches(int a,Sting s,int b,int c) 从当前字符串位置a 开始,长度为c的子串与字符串s从位置b开始,长度为c的子串是否相同。如果相同返回true,否则返回false。
public testString(){ public static void main(String[] arg){ String string = "ABCDEFG"; int length = string.length(); boolean same = string.equals("ABCDEFG"); boolean start = string.startsWith("ABC"); boolean end = string.endsWith("XYZ"); int sub = string.compareTo("a"); System.out.println("=======length====="+length); System.out.println("=======equals====="+same); System.out.println("=======startsWith====="+start); System.out.println("=======endsWith====="+end); System.out.println("=======compareTo====="+sub); String string1 = "ABCDEFAG"; int i1 = string1.indexOf("B"); int i2 = string1.lastIndexOf("AB"); int i3 = string1.indexOf("AB",2); int i4 = string1.lastIndexOf("A",4); String s1 = string1.substring(4); String s2 = string1.substring(4,6); System.out.println("=======indexOf====="+i1); System.out.println("=======indexOf====="+i2); System.out.println("=======lastIndexOf====="+i3); System.out.println("=======substring====="+i4); System.out.println("=======substring====="+s1); System.out.println("=======substring====="+s2); String string3 = "ABCDABEFAG"; String s3 = string3.replaceAll("AB","XYZ"); boolean same1 = string3.regionMatches(4,"XYABEZ",2,3); System.out.println("=======replaceAll====="+s3); System.out.println("=======regionMatches====="+same1); String [] array = string3.split("B"); for(int i=0;i<array.length;i++){ System.out.println(array[i]); } } }