String 为字符串类 在Java中是引用类型
String 底层为char数组 所以String很多特性都是数组的特性 例如String由length()方法保存长度
字符串一旦确定 不能修改
new String(char[])
new String(byte[])
new String(byte[],index,last)
indexOf()
lastIndexOf()
charAt()
trim()
startsWith()
endsWith()
toUpperCase()
toLowerCase()
toCharArray()
getBytes()
replace()
replaceAll()
split()
equalsIgnoreCase()
StringBuffer
线程安全 多线程环境下不会出现问题
StringBuilder
线程不安全 多线程环境下可能出现问题
append()
capacity()
装箱 自动将基本数据类型转换为包装器类型
拆箱 自动将包装器类型转换为基本数据类型
基本类型 | 封装类型 |
---|---|
byte | Byte |
char | Character |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
public static long currentTimeMillis()
用来返回当前时 间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差 此方法适于计算时间差。
System
类代表系统,系统级的很多属性和控制方法都放置在该类的内部。 该类位于java.lang
包。
由于该类的构造器是private
的,所以无法创建该类的对象,也就是无法实 例化该类。其内部的成员变量和成员方法都是static
的,所以也可以很方便的进行调用。
System类内部包含in
、out
和err
三个成员变量,分别代表标准输入流(键盘输入),标准输出流(显示器)和标准错误输出流(显示器)。
系统内部错误 这类错误由系统进行处理 程序本身无需处理
一般发生这种情况,JVM会选择终止程序
Exception
是所有异常类的父类
printStackTrace()
打印错误的追踪栈帧
getMessage()
获取错误信息
处理异常
1.7 新特性 自动关闭资源
try(资源打开语句;可以写多个){
高风险语句
} catch(异常类型){
}
可以写多个catch
但是从上到下必须是从子类到父类 或者没有继承关系
抛出异常 提醒机制
一般在服务端使用throws
。在客户端使用try catch
服务端就是被调用的 客户端就是调用处
必须执行的语句块 不能单独使用 必须和try
try...catch...
一同使用
只有在执行System.exit(0)
后finally
才不会执行
方法重写不能比原方法有更宽泛的异常
一般需要提供无参构造以及有参构造 用于把异常信息传递给父类
异常起点
class MyException extends Exception{
public MyException(){
}
public MyException(String msg){
super(msg);
}
}
public class Test{
public static void main(String[] args){
// 创建异常并结合throws抛出
throw new MyException();
}
}