1. StringBuffer类
² StringBuffer类的方法
为了便于对字符串的修改,在JDK中提供了一个StringBuffer类(也称字符串缓冲区)。StringBuffer类似一个字符容器,当在其中添加或删除字符时,并不会产生新的StringBuffer对象。
StringBuffer类中定义了很多方法,常用的方法如下表所示。
方法声明 | 功能描述 |
StringBuffer append(char c) | 添加参数到StringBuffer对象中 |
StringBuffer insert(int offset,String str) | 将字符串中的offset位置插入字符串str |
StringBuffer deleteCharAt(int index) | 移除此序列指定位置的字符 |
StringBuffer delete(int start,int end) | 删除StringBuffer对象中指定范围的字符或字符串序列 |
StringBuffer replace(int start,int end,String s) | 在StringBuffer对象中替换指定的字符或字符串序列 |
void setCharAt(int index, char ch) | 修改指定位置index处的字符序列 |
String toString() | 返回StringBuffer缓冲区中的字符串 |
StringBuffer reverse() | 将此字符序列用其反转形式取代 |
² String类和StringBuffer类的区别
StringBuffer类和String类有很多相似之处,但也有区别,具体如下:初学者在使用时很容易混淆。接下来针对这两个类进行对比,简单归纳一下两者的不同,具体如下:
1)String类表示的字符串是常量,一旦创建后,内容和长度都是无法改变的。而StringBuffer表示字符容器,其内容和长度都可以随时修改。
2)String类覆盖了Object类的equals()方法,而StringBuffer类没有覆盖Object类的equals()方法,具体示例如下:
String s1 = new String("abc");
String s2 = new String("abc");
System.out.println(s1.equals(s2)); // 打印结果为true
StringBuffer sb1 = new StringBuffer("abc");
StringBuffer sb2 = new StringBuffer("abc");
System.out.println(sb1.equals(sb2)); // 打印结果为false
3)String类对象可以用操作符“+”进行连接,而StringBuffer类对象之间不能,具体示例如下:
String s1 = "a";
String s2 = "b";
String s3 = s1+s2; // 合法
System.out.println(s3); // 打印输出 ab
StringBuffer sb1 = new StringBuffer("a");
StringBuffer sb2 = new StringBuffer("b");
StringBuffer sb3 = sb1; // 编译出错
2. System类
方法声明 | 功能描述 |
static void exit(int status) | 该方法用于终止当前正在运行的 Java 虚拟机,其中参数status表示状态码,若状态码非0 ,则表示异常终止 |
static void gc() | 运行垃圾回收器,并对垃圾进行回收 |
static void currentTimeMillis() | 返回以毫秒为单位的当前时间 |
static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length) | 从src引用的指定源数组复制到dest引用的数组,复制从指定的位置开始,到目标数组的指定位置结束 |
static Properties getProperties() | 取得当前的系统属性 |
static String getProperty(String key) | 获取指定键描述的系统属性 |
3. Math类
方法声明 | 功能描述 |
abs(double a) | 用于计算绝对值结果 |
ceil(double a) | 用于计算大于参数a的最小整数 |
floor(double a) | 用于计算小于参数的最大整数 |
round(double a) | 用于计算对小数进行四舍五入后的结果 |
random() | 用于生成随机数 |
4. Random类
² Random类的构造方法
在JDK的java.util包中有一个Random类,它可以在指定的取值范围内随机产生数字。Random类有两个构造方法,具体如下:
方法声明 | 功能描述 |
Random() | 用于创建一个伪随机数生成器 |
Random(long seed) | 使用一个long型的seed种子创建伪随机数生成器 |
在上述两个构造方法中,第一个构造方法是无参的,通过它创建的Random实例对象每次使用的种子是随机的,因此每个对象所产生的随机数不同。如果希望创建的多个Random实例对象产生相同序列的随机数,则可以在创建对象时调用第二个构造方法,传入相同的种子即可。
² Random类的常用方法
方法声明 | 功能描述 |
boolean nextBoolean() | 随机生成boolean类型的随机数 |
double nextDouble() | 随机生成double类型的随机数 |
float nextFloat() | 随机生成float类型的随机数 |
int nextInt() | 随机生成int类型的随机数 |
int nextInt(int n) | 随机生成0~n之间int类型的随机数 |