str1.compareTo(str2)
//str1与str2比较,区分大小写。 // > 0 表示: str1 > str2 // == 0 表示: str1 == str2 // < 0 表示: str1 < str2 str1.compareTo(str2); //字符串str1与str2比较。忽略大小写,即不区分大小写。 str1.compareToIgnoreCase(str2);str1.equals(str2)
//str1与str2是否相等,区分大小写。 // == 0 表示: str1 == str2 // != 0 表示: str1 != str2 str1.equals(str2); //字符串str1与str2是否相等。忽略大小写,即不区分大小写。 str1.equalsIgnoreCase(str2);substring 与 split
String str = "hello, today is Monday"; // 截取字符串str中0~8(左闭右开)的字符串片段 str.substring(0,8); // "hello, t" //以空格分隔 String strarr[] = str.split(" "); for (int i = 0; i < strarr.length; i++) System.out.println(strarr[i]);concat, toLowerCase, toUpperCase, replace
String str = str1.concat(str2); //合并str1与str2字符串 str.toUpperCase(); //全部大写 str.toLowerCase(); //全部小写replaceFirst()方法区分大小写。 使用"(?i)"可以不区分大小写,如str1。
String str = "Hello, hEllo"; String str1 = str.replaceFirst("(?i)HELLO", "Bye"); //Bye, hEllo String str2 = str.replaceFirst("(?-i)HELLO", "Bye"); //Hello, hEllo String str3 = str.replaceFirst("hEllo", "Bye"); //Hello, Bye第一段代码中设置长度为10,超过strbuff的容量,所以为其申请新的容量; 而第二段代码中,第一次设置的长度为3,没有超过容量,所以不需要申请额外的容量。
StringBuffer strbuff = new StringBuffer(8); System.out.println(strbuff.length()); // 0 strbuff.append("abcdefg"); System.out.println(strbuff.length()); // 7 System.out.println(strbuff.capacity()); //8 strbuff.setLength(10); System.out.println(strbuff.length()); // 10 System.out.println(strbuff.capacity()); // 18 System.out.println(strbuff); //abcdefg strbuff.setLength(3); System.out.println(strbuff.length()); // 3 System.out.println(strbuff.capacity()); // 18 System.out.println(strbuff); //abc StringBuffer strbuff = new StringBuffer(8); System.out.println(strbuff.length()); // 0 strbuff.append("abcdefg"); System.out.println(strbuff.length()); // 7 System.out.println(strbuff.capacity()); //8 strbuff.setLength(3); System.out.println(strbuff.length()); // 3 System.out.println(strbuff.capacity()); // 8 System.out.println(strbuff); //abc strbuff.setLength(10); System.out.println(strbuff.length()); // 10 System.out.println(strbuff.capacity()); // 18 System.out.println(strbuff); //abcStringBuffer类对象可以在本对象中添加、删除、修改。这是其与String类的区别。
StringBuffer strbuff = new StringBuffer(); strbuff.append("happy birthday to you"); System.out.println(strbuff.length()); // 21 System.out.println(strbuff.capacity()); // 34 // 替换下标的字符 strbuff.setCharAt(15, '!'); //替换下标为15的字符 System.out.println(strbuff); // happy birthday !o you // 替换指定区间0~5(左闭右开)的字符串 strbuff.replace(0, 5, "That"); System.out.println(strbuff); // That birthday !o you //StringBuffer的getChars方法,获取一段子字符串 char chardst[] = new char[10]; strbuff.getChars(3, 12, chardst, 0); System.out.println(chardst); // t birthda System.out.println(strbuff.length()); // 20 // 删除15~21(左闭右开)的字符串 strbuff.delete(15, strbuff.length()); System.out.println(strbuff); // That birthday ! // 删除下标为2的字符 strbuff.deleteCharAt(2); System.out.println(strbuff); // Tht birthday !StringBuffer类的append()与String类的concat()方法类似。其区别在于StringBuffer类不需要创建新的字符串对象,是在原有字符串的基础上修改的;而String类会创建新的字符串对象。
StringBuffer strbuff = new StringBuffer(); strbuff.append("...");