🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓
Java常用API的介绍及其类常用方法详解(整理大全💎持续更新)
🫐🫐🫐🫐🫐🫐🫐🫐🫐🫐🫐🫐🫐🫐🫐🫐🫐🫐🫐🫐🫐🫐🫐🫐🫐🫐🫐🫐
一、常用类String、StringBuffer、StringBuilder、Math、Random、Calendar、Date、DateFormat、SimpleDateFormat、System、BigInteger、BigDecimal
二、8种基本类型包装类Byte、Short、Integer、Long、Float、Double、Character、Boolean##
三、集合Collection、
💎💎💎💎💎💎💎💎💎💎💎💎💎💎💎💎💎💎💎💎💎💎💎💎💎💎💎💎
🌞🌞🌞类的介绍及其类常用方法详解🌞🌞🌞
注:
本文中默认类都继承自超类Object
1.String、StringBuffer、StringBuilder
类名 | 全限定名称 | 超类 | 修饰符 |
---|---|---|---|
String | java.lang.String | public final | |
StringBuffer | java.lang.StringBuffer | AbstractStringBuilder | public final |
StringBuilder | Java.lang.StringBuilder | AbstractStringBuilder | public final |
1.1)String、StringBuffer和StringBuilder三者之间的联系与区别
String
、StringBuffer
、StringBuilder
其实都是用来保存字符构成的字符串,但是String
对象一旦被创建是其值不可以被改变的,字符串是不可变的,而StringBuffer
、StringBuilder
对象是可变的字符序列,称为字符串缓冲区,可以通过方法去对在字符串缓冲区里面的类似String
的字符串进行调用、更改长度和内容
AbstractStringBuilder
、String
、StringBuffer
、StringBuilder
部分源码:
// String部分源码
public final class String
implements java.io.Serializable, Comparable<String>, CharSequence {
private final char value[]; // 字符数组被final修饰
}
我们可以看出String是使用final关键字修饰符字符数组private final char value[]
来保存字符串,所以String
对象一旦被创建是其值不可以被改变的,字符串是不可变的。
// AbstractStringBuilder部分源码
abstract class AbstractStringBuilder implements Appendable, CharSequence {
char[] value; // 未被final修饰符修饰的value数组
// 字符缓冲区的字符数组的长度
AbstractStringBuilder(int capacity) {
value = new char[capacity];
}
}
// StringBuilder部分源码
public final class StringBuilder
extends AbstractStringBuilder
implements java.io.Serializable, CharSequence{
}
// StringBuffer部分源码
public final class StringBuffer
extends AbstractStringBuilder
implements java.io.Serializable, CharSequence{
// 创建StringBuffer对象,初始容量为为16个字符长度
public StringBuffer() {
super(16);
}
public StringBuffer(String str) {
super(str.length() + 16);
append(str);
}
}
根据AbstractStringBuilder
中AbstractStringBuilder(int capacity)
可以得出StringBuffer和StringBuilder是通过创建可变的字符数组来存储字符串