【JAVA基础篇】String类详解

昨天参加了一场机试,发现自己居然对String类的api不熟了,所以今天来总结一下(基于JDK1.8)。

1、父类和实现的接口

没有父类,或者说父类是Object

接口:Serializable、Comparable、CharSequence

2、数据结构

底层是一个字符数组,并且底层数组不能被其他类访问,从源码可以看出

private final char value[];

并且String实例不可被更改,意思就是说上面这个字符数组的长度和存储的字符都不能变,因为String类中除了构造方法没有其他方法去改变这个字符数组value。

3、构造方法

构造方法入参主要有字符串、字符数组、字节数组、int数组、数组起始下标和数量、StringBuffer、字符集

4、常用方法

方法 说明
length 返回字符数组的长度
isEmpty 字符数组长度是否为0
charAt 返回指定索引位置的字符
codePointAt 返回指定索引位置的Unicode代码
getChars 将字符串的内容放到指定的字符数组中
getBytes 返回一个字节数组
equals 内容是否相同
equalsIgnoreCase 忽略大小写之后内容是否相同
contentEquals 内容是否相同
compareTo 字符串大小比较
compareToIgnoreCase 忽略大小写之后字符串大小比较
startsWith 检查是否以指定的前缀开始(如果有第二参数表示开始查找的位置)
endsWith 检查是否以指定的后缀结束
indexOf 返回指定字符(或者字符串)在当前字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1
lastIndexOf 同indexOf的区别是从后往前找
substring 截取子串
replace 注意replace、replaceAll、replaceFirst的区别
split 将字符串用指定字符串分割成一个字符串数组
toLowerCase 转换成小写
toUpperCase 转换成大写
trim 去除首尾Unicode值小于32的字符
toCharArray 返回字符数组
valueOf 将其他类型数据转换成一个字符串

 

你可能感兴趣的:(Java基础)