1 . String 概述:
String 是 Java 定义好的一个类。定义在 java.lang 包中,所以使用的时候不需要导包。
- Java 程序中的所有字符串文字(例如 "abcs")都是此类的对象。
字符串不可变,它们的值在创建后不能被改变。
String name = "翔哥" ;
name = "小马哥" ;
// 此过程是重新创建了一个变量 name 并赋值为"小马哥"
2 . 创建String对象的两种方式:
String s1 = new String("abc"); // "abc"
char[] chs = {'a','b','c'};
String s2 = new String(chs); // "abc" // 需求:要更改字符串的内容
最后一种:通过字节数组创建:
3 . String 内存分析
串池: 即储存字符串常量的地方
3 . 1 双引号直接赋值:
当使用双引号直接赋值时,系统会检查该字符串在串池中是否存在。
不存在:创建新的存在:复用
3 . 2 new 方法创建:
new 一下,新创建一个
4 . 字符串的比较
4 . 1 == 的比较:
==对基本数据类型 ,比较的是具体的值。==对引用数据类型 ,比较的是所存的地址值。
4 . 2 调用方法比较:
String s1 = new String("abc");
String s2 = "abc";
boolean result = s1.equals(s2);
4 . 3 注意 :
- 键盘录入的字符串底层实现是 new 出来的。
5 . 字符串常用方法
5 . 1 字符串的长度: str.length()
5 . 2 字符串指定下标值地获取: str.charAt(i)
5 . 3 字符串的遍历:
for(int i = 0 ; i < str.length() ; i++){
char c = str.charAt(i);
System.out.println(c);
}
5 . 4 字符串的截取: str.substring()
5 . 5 字符串的拼接:StringBuilder()
-
普通的直接 + 的字符串的拼接,效率是很慢的,因为每次拼接都是创建了一个新的字符串!!
-
StringBuilder()
StringBuilder()构造方法:
StringBuilder()常见方法:
StringBuilder sb = new StringBuilder("abc");
sb.append(1);
注意:
-
sb.append()和sb.reverse()方法都是直接对StringBuilder里面存放的内容进行修改。 -
如果打印 sb ,那么得到的不是地址值,而是里面的内容(Java封装好的)
可以很快的解决判断回文字符串的问题!!!!
5 . 6 StringJoiner
StringJoiner 构造方法:
StringJoiner相关方法: