String类
String类
创建String对象的常用的四种方式
package ClassTest; /** * @author Sx-Wang * @data 2020-06-06 10:18 */ public class StringTest { public static void main (String[] args) {// 第一种 String() 初始化一个新创建的 String 对象,使其表示一个空字符序列。 String string1 = new String(); // 第二种 String(byte[] bytes) 通过使用平台的默认字符集解码指定的 byte 数组,构造一个新的 String。 byte[] bytes = new byte[]{1, 2, 3, 4, 5}; String string2 = new String(bytes); // 第三种 String(char[] value) 分配一个新的 String,使其表示字符数组参数中当前包含的字符序列。 char[] chars = new char[]{'a', 'b', 'c'}; String string3 = new String(chars); // 第四种 直接申明一个变量然后等于"值" String string4 = "abc"; } }
注意:字符常量池:协商双引号的字符串在常量池里,new出来的String对象不在常量池
== 对于基本类型的数据(是比较数值的)对于引用类型(是比较地址值的)
String常用的方法
1 //常用的方法 2 String a = "abcdefg"; 3 a.length();// 获取字符串的长度 4 a.startsWith("a"); //startWith(String prefix) 用于判断字符串开头是否是prefix字符串 5 a.endsWith("g"); // endsWith(String prefix) 用于判断字符串结尾是否是prefix字符串 6 a.charAt(1);// charAt(int index)获取索引index的元素 7 a.indexOf("a");// 寻找a元素在String中的索引值 8 a.concat("a");// concat(String str) 将a字符串和str字符串拼接在一起 9 a.equals("a");// equals(String str)比较两个字符串是否相等 10 a.equalsIgnoreCase("a");// equalsIgnoreCase(String str) 比较两个字符串时候不去风大小写 11 a.toCharArray();// 将字符串拆分成字符数组作为返回值 12 a.getBytes();// 获得当前字符串底层的字节数组 13 a.replace('a','b');// replace(a, b)将String字符串中的所有a换成b 14 a.split(",");// split(String regex) 相当于把字符串以regex进行分割 参数是一个正则表达式 15 // 当要以"." 来进行分割时候,应该写为"\\."
String它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为 String 对象是不可变的,所以可以共享。