StringBuffer类
通常用来修改字符串
和StringBuilder区别
- StringBuffer是线程安全的
作用
- StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。
常用方法:
StringBuffer sb=new StringBuffer("Hello"); sb.append(" world"); System.out.println(sb.toString()); //Hello world sb.insert(0, "你好 "); System.out.println(sb.toString()); //你好 Hello world sb.delete(0, 3); System.out.println(sb.toString()); //Hello world
AutoCloseable接口
可以自动的执行一些关闭操作
在1.7之前,我们通过try{} finally{} 在finally中释放资源,在finally中关闭资源存在以下问题:
- 自己要手动写代码做关闭的逻辑;
- 有时候还会忘记关闭一些资源;
- 关闭代码的逻辑比较冗长,不应该是正常的业务逻辑需要关注的;
带资源的try语句的3个关键点:
- 由带资源的try语句管理的资源必须是实现了AutoCloseable接口的类的对象。
- 在try代码中声明的资源被隐式声明为final。
- 通过使用分号分隔每个声明可以管理多个资源。
使用方法:
- 首先定义类,并继承AutoCloseable接口
- 重写close()方法,并定义抛出异常操作
- 在try的括号类实例化对象
- 在执行时,try里面的内容结束后会执行close()里面的方法
public class Main {
public static void main(String[] args) {
try (A app = new A()) {
app.start();
} catch (Exception ignored) {
}
}
}
class A implements AutoCloseable {
public void start() {
System.out.println("--start");
}
@Override
public void close() throws Exception {
System.out.println("--close---");
}
}
输出:
--start
--close---
Runtime类
调取系统信息
实例化的时候必须使用如下实例化对象
Runtime runtime = Runtime.getRuntime();
Date类、LocalDate类
构建日期(建议使用LocalDateTime类)LocalDate date = LocaDate.of(int year,int month,int year);
此处评论已关闭