# 创建方式3+1
3种构造方法:
String()
String(char[] array)
String(byte[] array)
1种直接构造
String str = "Hello"
# 构造方法及比较代码演示
package com.leerep.javabase.string;
import java.util.Arrays;
public class CommonMethod {
public static void main(String[] args) {
String s = "HelloJava";
/*
* 获取相关
* */
//获取长度
int l = s.length();
System.out.println(l);
//拼接字符串 原字符串不会改变
String str = s.concat("HelloWorld");
System.out.println(str );
//获取指定索引位置的单个字符
char a = s.charAt(0);
System.out.println(a);
//查找参数字符串在本字符串中首次出现的位置,如果没有返回-1
int index = s.indexOf('J');
System.out.println(index);
System.out.println(s.indexOf("zzZ"));
/*
* 截取相关
* */
//截取指定位置一直到字符串末尾
String str1 = s.substring(5);
System.out.println(s + " " + str1);
//截取[6, 9) 参数begin, end 包含begin, 不包含end
String str2 = s.substring(6, 9);
System.out.println(str2);
/*
* 转换相关
* public char[] toCharArray()
* public byte[] getBytes()
* public String replace(CharSequence oldString, CharSequence newString)
* */
//将字符串拆分为字符数组作为返回值
char[] chars = s.toCharArray();
System.out.println(Arrays.toString(chars));
//获取当前字符串底层的字节数组
byte[] bytes = s.getBytes();
System.out.println(Arrays.toString(bytes));
//将旧字符串替换为新的字符串,返回替换之后的新字符串
String res = s.replace("a", "e");
System.out.println(res);
/*
* 分割相关
* public String[] split(String regex)
* 注意事项:
* regex是一个正则表达式
* “.”在正则表达式中有特殊含义,所以要转义--> "\."
* */
String str3 = "a,bb,cc,ddd,ee,fff";
String[] strings1 = str3.split(",");
System.out.println(Arrays.toString(strings1));
String str5 = "aaa.bbb.com";
String[] strings2 = str5.split("\.");
System.out.println(Arrays.toString(strings2));
}
}