(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());} }