Java String 类

字符串的特点:

1. 字符串的内容永不可变

2. 正是因为字符串不可改变,所以字符串是可以共享使用的

3. 字符串效果上相当于是char[] 字符数组,但是底层原理是byte[]字节数组

创建字符串常见的3+1种方式:

三种构造方法:

1. public String():创建一个空白字符串,不含有任何内容

2. public String(char[] array):根据字符数组的内容,来创建对应的字符串

3. public String(byte[] array):根据字节数组的内容,来创建对应的字符串

一种直接创建:

String str = "Hello";

字符串常量池:

程序当中直接写上的双引号字符串,就在字符串常量池中;

 

对于基本数据类型来说, == 是进行数值的比较;

对于引用数据类型来说, == 是进行地址值的比较;

 

字符串的比较:

== 是进行对象地址值的比较,如果确实需要对字符串的内容进行比较,可以使用两种方法:

1. public boolean equals(Object obj): 参数可以是任何对象,只有参数是一个字符串并且内容相同时才会返回true,否则返回false;

注意事项:

1. 任何对象都能用Object进行接收

2. equals方法具有对称性,也就是a.equals(b) 和 b.equals(a) 效果一样

3. 如果比较双方一个常量,一个变量,那么推荐把常量字符串写在前面。 "abc".equals(str) (为了防止变量出现null的情况)

2. 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 String[] split(String regex): 按照参数的规则,将字符串切分为若干部分

注意事项:

split 方法的参数其实是一个正则表达式,如果要按照英文句点进行切分,必须写"\."

字符串的转换:

public char[] toCharArray(): 将当前字符串拆分称为字符数组作为返回值

public byte[] getBytes(): 获取当前字符串底层的字节数组

public String replace(CharSequence oldString, CharSequence newString): 将所有出现的老字符串替换成新的字符串,返回替换之后的结果新字符串

猪猪侠要努力呀!
原文地址:https://www.cnblogs.com/mlllily/p/14914847.html