String 字符串
1、实例化String对象
//直接赋值
String str = "Hello, barret !";
System.out.println(str); // Output:Hello, barret !
//使用关键字new
String str = new String("Hello, barret !");
System.out.println(str); // Output:Hello, barret !

new String定义字符串存储空间示意图
String str = "hello";
String str2 = new String("hello");
System.out.println(str == str2); // Output:false
System.out.println(str.equals(str2)); // Output:true
注意:
== 比较的是 地址
equals 比较的是 内容(值)
字符串内容不可更改

String字符串值更改存储示意图
String 字符串常用的方法
| 方法 | 作用 |
|---|---|
| String.length() | 获取字符串长度 |
| String.toCharArray() | 字符串转数组 |
| String.charAt() | 从字符串中取出指定位置的字符 |
| String.getBytes() | 字符串与byte数组的转换 |
| String.indexOf() | 过滤字符串中存在的字符(获取字符下标) |
| String.trim() | 去掉字符串的前后空格 |
| String.subString() | 从字符串中取出子字符串 |
| String.toLowerCase() | 将字符串转换为小写字母 |
| String.toUpperCase() | 将字符串转换为大写字母 |
| String.endsWith() | 判断字符串的结尾字符 |
| String.startWith() | 判断字符串的开头字符 |
| String.replace() | 替换String字符串中的一个字符 |
StringBuffer
缓冲区,本身也是操作字符串,但与String不同,StringBuffer是可以更改的
StringBuffer是一个操作类,所以必须通过实例化进行操作。
StringBuffer stringbuffer = new StringBuffer();
stringbuffer.append("hi,barret ! ");
System.out.println(stringbuffer.toString()); // Output: hi, barret !
常用方法:
| 方法 | 作用 |
|---|---|
| append() | 追加 |
| insert() | 插入 |
| replace() | 替换 |
| indexOf() | 获取下标 |
StringBuilder
1、一个可变的字符序列,该类被设计作为StringBuffer的一个简易替换,在字符串缓冲区被单个线程使用的时候,简易有限考虑StringBuilder,速度比StringBuffer要快。
2、但是如果涉及到线程安全方面,建议使用StringBuffer。
3、常用方法
| 方法 | 作用 |
|---|---|
| append() | 追加 |
| insert() | 插入 |
常见异常
| 异常 | 说明 |
|---|---|
| ArrayIndexOutOfBoundsException | 数组越界异常 |
| NumberFormatException | 数字格式化异常 |
| ArithmeticException | 算数异常 |
| NullPointerException | 空指针异常 |
throws关键字
1、在定义一个方法的时候可以使用throws关键字声明,使用throws声明的方法表示此方法不处理异常,而是抛给方法的调用者去处理此异常。
2、格式
public void tell() throws Exception {}