/**
* String APi demo
* @author lanluyug
* @date 2020-02-18
*/
import java.util.Arrays;
public class stringDemo{
public static void main(String[] args){
testStringFun("Hello, CoreJava !");
}
public static void testStringFun(String testString){
// substring
System.out.println("substring(0,3): " + testString.substring(0,3));
// join
System.out.println("String.join: " + String.join(" / ","S", "M", "L"));
// equals & equalsIgnoreCase & == & compareTo
System.out.println("equals: " + testString.substring(0,3).equals("Hel"));
System.out.println("equalsIgnoreCase: " + testString.substring(0,3).equalsIgnoreCase("hel"));
System.out.println("==: " + (testString.substring(0,3) == "Hel"));
// 位于形参之前,返回正数, 位于形参之后,返回负数,相等返回0
System.out.println("compareTo: " + (testString.substring(0,3).compareTo("Hel") == 0));
// charAt
System.out.println("charAt: " + testString.charAt(0));
// 返回码点
int index = testString.offsetByCodePoints(0, 2); // 返回2
System.out.println("offsetByCodePoints: " + index);
System.out.println("codePointAt: " + testString.codePointAt(index));
// codePoints & new String()
int[] codePoints = testString.codePoints().toArray(); // codePoints返回intStream,java 8
System.out.println("codePoints(): " + Arrays.toString(codePoints));
System.out.println(" new String(codePoints, start, length): " + new String(codePoints, 0, codePoints.length));
// startsWith
System.out.println("startsWith: " + testString.startsWith("Hel"));
//endsWith
System.out.println("endsWith: " + testString.endsWith("a !"));
// String replace(charSequence oldString, charSequence newString)
System.out.println("replace: " + testString.replace("CoreJava", "World"));
// StringBuilder 单线程 效率高 ; StringBuffer 多线程 效率低
StringBuilder sb = new StringBuilder();
sb.append("Hel");
sb.append("lo");
System.out.println("StringBuilder: " + sb);
}
}