(1)String类部分方法
public class StringDemo2 {
public static void main(String[] args) { String domainName = "https://www.bytecollege"; //trim() 去除字符串前后的空格 System.out.println(" xyz ".trim());//xyz System.out.println("--------------"); //trim() 去除字符串前的空格 System.out.println(" xyz ".stripLeading());//xyz System.out.println("--------------"); //trim() 去除字符串前的空格 System.out.println(" xyz ".stripTrailing());// xyz System.out.println("--------------"); //repeat(int count) 重复字符串若干次 System.out.println("xyz".repeat(3));//xyzxyzxyz System.out.println("--------------"); //replace(String string) 返回一个新的字符串,它是通过用 `newChar` 替换此字符串中出现的所有 `oldChar` 得到的 System.out.println(domainName.replace("http://","https://"));//https://WWW.baidu.com System.out.println("--------------"); //split(String string) 分割字符 String testString = "testName.jpg"; String[] testStrings = testString.split("\\."); for(String s1:testStrings) { System.out.println(s1); /** * testName * jpg */ } System.out.println("--------------"); String testString1 = "abc"; String[] testStrings1 = testString1.split("a"); for(String s2:testStrings1) { System.out.println(s2); } System.out.println("分割后的字符个数为:"+testStrings1.length); /** * * bc * 分割后的字符个数为:2 */ System.out.println("--------------"); String[] testStrings2 = testString1.split("c");//自动省略字符串后边的空格 for(String s3:testStrings2) { System.out.println(s3); } System.out.println("分割后的字符个数为:"+testStrings2.length); /** * ab * 分割后的字符个数为:1 */ System.out.println("--------------"); //split(String string,int limit) 分割,保留末尾的空字符 System.out.println(""); String [] time = "2022-7-27 ".split("-",0); for(int i=0;i<time.length;i++) { System.out.println(time[i]); /** * * 2022 * 7 * 27 */ } System.out.println("--------------"); //join(String s,str1,str2....) 以s为连接符,连接字符串 System.out.println(String.join(".", "www","baidu.com"));//www.baidu.com System.out.println("--------------"); //concat(String string) 将指定字符串连接到此字符串的结尾。 System.out.println(domainName.concat(".com"));//baidu.com System.out.println("--------------"); //char[] toCharArray 将字符串转换为字符数组 char [] chars=domainName.toCharArray(); System.out.println(Arrays.toString(chars));//[h, t, t, p, s, :, /, /, w, w, w, ., b, y, t, e, c, o, l, l, e, g, e] System.out.println("--------------"); //isEmpty() 判断某个字符串是否为空字符串 数组长度是length属性,字符串长度是length方法 System.out.println(domainName.isEmpty());//false System.out.println("--------------"); }
} (2)StringBuilder和StringBuffer
构造器: StringBuilder():创建了一个空的StringBuilder对象,底层通过创建数组实现,根据不同的字符编码,长度为16或者32。 StringBuilder(String str)和 StringBuilder(Charsequence str):根据str字符串创建一个StringBuilder对象 该参数长度+16,或者(参数长度+16)<< 1作为底层数组的初始化长度 将参数放置到数组中 StringBuilder(int capacity):指定底层数组的初始化容量 方法:
/**
StringBuilder练习
@author Ray * */ public class StringBuilderDemo {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder("华为技术有限公司"); //容量和长度 System.out.println("底层字符串容量是:"+sb.capacity());//16+5=21 System.out.println("字符串长度是:"+sb.length());//5 // StringBuilder append(String str) 将str插入到当前字符串的末尾位置; System.out.println(sb.append("!")); // StringBuilder delete(int start ,int end)将当前字符串中从start(包含)开始到end(不包含)之间的内容移除; System.out.println(sb.delete(2, 4)); // StringBuilder deleteCharAt(int index) 删除索引处字符 System.out.println(sb.deleteCharAt(6)); // StringBuilder replace(int start , int end , String str)将当前字符串中start到end之间的内容全部用str的内容替换; System.out.println(sb.replace(2, 5, "通讯科技")); // substring(int start) 从start处截取到末尾 System.out.println(sb.substring(2)); // String substring(int start, int end) 从start处截取到end System.out.println(sb.substring(0,2)); //StringBuilder insert(int offset,String str) 将str插入到当前字符串中offset指向的位置上; System.out.println(sb.insert(2,"-")); // indexOf(String str)字符串str第一次出现的位置 System.out.println(sb.indexOf("华")); // StringBuilder reverse() 实现字符串的反转; System.out.println(sb.reverse());
} }