简介
- java String类是final类,所以该类不能被继承,字符串一旦创建不能修改
- String 实例的值是通过字符数组存储的。
- String类实现了Serializable、CharSequence、 Comparable接口。
面经
- 1:输出语句,输出任何对象名称的时候,默认调用的是该对象的toString方法,默认输出包名…类名@哈希值的16进制,想改变输出格式,可以重写该类的toString 方法

class4 为自定义的类的对象,查看其toString 方法,

发现其为object方法(java中所有类的默认父类),而String的toString 方法,返回this,修改过,是自定义输出格式。 - 得到长度,length() 方法
- String s = new String(“hello”)和String s = “hello”;的区别
== 比较引用类型,比较的是地址值
equal 默认比较的是地址值,String类重写equals() 方法,该方法的作用是比较字符串的内容是否相同。
前者 有两个地址,后者只有一个地址
构造方法
* public String():创建String对象
* public String(byte[] bytes):把字节数组转成字符串。
* public String(byte[] bytes,int index,int length):把字节数组中的一部分转成字符串
* public String(char[] value):把字符数组转成字符串
* public String(char[] value,int index,int count):把字符数组的一部分转成字符串
* public String(String original):把字符串转成字符串
* String类的判断功能:
* boolean equals(Object obj):比较字符串的内容是否相同,严格区分大小写
* boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,不考虑大小写
* boolean contains(String str):判断是否包含指定的小串
* boolean startsWith(String str):判断是否以指定的字符串开头
* boolean endsWith(String str):判断是否以指定的字符串结尾
* boolean isEmpty():判断字符串的内容是否为空
* String类的获取功能:
* int length():返回字符串的长度。字符的个数。
* char charAt(int index):返回字符串中指定位置的字符。
* int indexOf(int ch):返回指定字符在字符串中第一次出现的位置
* 97,'a'
* int indexOf(String str):返回指定字符串在字符串中第一次出现的位置
* int indexOf(int ch,int fromIndex):返回指定字符从指定位置开始在字符串中第一次出现的位置
* int indexOf(String str,int fromIndex):返回指定字符串从指定位置开始在字符串中第一次出现的位置
* String substring(int start):返回从指定位置开始到末尾的子串
* String substring(int start,int end):返回从指定位置开始到指定位置结束的子串----注意左包右不包
* String的转换功能:
* byte[] getBytes():把字符串转换为字节数组
* char[] toCharArray():把字符串转换为字符数组
* static String valueOf(char[] chs):把字符数组转成字符串
* static String valueOf(int i):把int类型的数据转成字符串
* 把任意类型转换为字符串的方法。
* String toLowerCase():把字符串转小写
* String toUpperCase():把字符串转大写
* String concat(String str):字符串的连接
- trim 方法 用来去除 字符串的首尾空格
阅读String 源码
public static String trim(byte[] value) {
int len = value.length;
int st = 0;
while ((st < len) && ((value[st] & 0xff) <= ' ')) {
st++;
}
while ((st < len) && ((value[len - 1] & 0xff) <= ' ')) {
len--;
}
return ((st > 0) || (len < value.length)) ?
newString(value, st, len - st) : null;
}
* 按字典顺序比较两个字符串 a-z
* int compareTo(String str)