概念
java.lang.String 为String的类
String 类代表字符串,多有字符串,只要是带双引号的(" ") 都是字符串类(String类)的实例出现。
字符串是常量,值在创建之后不能更改。用不可变(重点)
字符串不可改变,所以可以共享使用
字符串效果相当于char[]字符数组,底层原理是byte[]字节数组
创建方式
1.直接创建 public String():创建一个空白字符串,不含有任何内容
2.public String(char[] array):根据字符数组的内容,创建对应的字符串
3.public String(byte[] array):根据字节数组的内容,创建对应的字符串
注
只要是字符串,就是对象
字符串常量池:
直接写上的双引号字符串,就在常量池中。
对于基本类型来说,== 是进行数值的比较
对于引用类型来说,== 是进行地址值的比较
字符串当中的常用方法
‘==’是进行对象的地址值比较
equals
public boolean equals(Object obj); 参数可以是任何对象,只有参数是一个字符串并且内容相同时才会给true,否则返回false。
equals方法是对称的,推荐将常量字符串放在前面,否则当对象字符串为空时会出现空指针异常
"hello"equals(str);//推荐写法
public boolean equalsIgnoreCase(String str);//忽略大小写进行比较
String 中与获取相关的常用方法:
public int length(String str);获取长度
public String concat(String str );将当前字符串和参数字符串拼接成为返回值新的字符串。字符串变了一定是创建了新的字符串
public char charat(int index);获取指定索引位置的单个字符,索引从0开始
public int indexf(String str);查找字符串首次出现的索引位置,没有就返回-1.
String当中的截取方法:
public String substring(int index);截取从index位置一直到字符串末尾,返回新的字符串。
public String substring(int begin,int end); 截取从begin开始到end结束的字符串,备注:左闭右开区间
String 当中与转换相关的方法:
public char[] toCharArray();拆分字符串为字符数组
public byte[] getBytes();获得字符串的底层字节数组
public String replace(CharSequence oldString ,CharSequence newString);将所有老字符串替换成新字符串,并返回
charSquence是个接口,可以接收String类型
String 的分割方法:
public String[] split(String regex);按照参数规则,将字符串切分成若干部分
例如: str="abc,be,df";
String[] str2=str.split(","); 这就代表按照","所在的位置做分割字符串,并且存入str2[] 这个字符串数组。
注
不能按照".“分割。split方法的参数是一个正则表达式,如果按照英文句点进行分割,必须写”//." 可以直接记为特殊写法