字符串
1、字符串的三个特点
- 字符串的内容永不可变
- 字符串可以共享使用(因为字符串的内容永不可变)
- 字符串效果上相当于char[]字符数组,但是底层原理是byte[]字节数组
2、字符串的四种创建方法
-
三种构造方法:
- public String():创建一个空白字符串,不包含任何内容
- public String(char[] array):根据字符数组的内容,来创建对应的字符串
- public String(byte[] array):根据字节数组的内容,来创建对应的字符串
-
一种直接创建方法:
String str = “Hello”; //没有使用new关键字,但也是String对象
3、字符串常量池
程序中直接写上的双引号字符串,就在字符串常量池中,new出来的字符串不在池中。
4、字符串的常用方法
-
public boolean equals(String str):比较字符串的内容
-
为什么不用==
对于基本数据类型来说,==是进行数值的比较
对于引用数据类型来说,==是进行地址值的比较
而String是引用数据类型,不能用==进行内容的比较
-
pubic boolean equals(Object obj);参数可以是任何对象,String类中重写了equals()方法
-
注意事项:
- 任何对象都能用Object接收
- equals()方法具有对称,也就是a.equals(b)和b.equals(a)效果一样
- 如果比较双方为一个常量一个变量,推荐把常量字符串写在前面(推荐:"huang.equals(str),不推荐:str.equals(“huang)”)
-
public boolean equalsIgnoreCase(String str):忽略大小写,进行内容比较
-
-
public int length():获取字符串的长度
-
public String concat(String str):将当前字符串和参数字符串拼接,并返回
-
public char charAt(int index):获取指定索引位置的单个字符,索引从0开始。
-
public int indexOf(String str):查找参数字符串在本字符串中首次出现的索引位置,如果没有返回-1。
-
public String substring(int index):截取从参数位置一直到字符串末尾,返回新字符串
-
public String substring(int begin,int end):截取从begin开始,一直到end结束,中间的字符串。[begin,end)
-
public char[] toCharArray():将当前字符串转换为字符数组并返回
-
public byte[] getBytes():获得当前字符串底层的字节数组
-
public String replace(CharSequence oldString,CharSequence newString):将所有出现的老字符串替换成为新的字符串,返回替换之后的结果
-
public String[] split(String regex):按照参数的规则,将字符串切分成为若干部分(regex为正则表达式)