String 类型属于哪种类
String 是被 publid final 修饰的类
String 提供的构造方法
什么叫做字符串常量池
什么时候字符会被加入字符常量池
- 使用
new String(char[])
创建的字符串对象不会自动加入字符串常量池。 - 只有通过字符串字面量创建的字符串或显式调用
intern()
方法的字符串才会被加入到字符串常量池中。 -
String s2 = "abc";
以下代码打印什么(s1 与 s2 地址是否相同)
char[] ch = new char[]{'a','b','c'};
String s1 = new String(ch);
String s2 = "abc";
System.out.println(s1 == s2);
由此思考下题
画图解释如下
“池”的理解
str1 用 ''=='' 与str2 比较时,比的是地址
字符串的内存存储
String str1 = "abc";
String str2 = "abc";
System.out.println(str1 == str2);
//打印结果为 true
String str1 = new String(original:"abc");
String str2 = new String(original:"abc");
System.out.println(str1 == str2);
//打印结果为 false
字符串比较
怎么比较两个 String 类型内容是否相同(一共有3种)
忽略大小写比较如何实现
字符串查找
实现字符串查找的功能的方法与其使用方法(返回值、用什么类型接受)、注意事项
字符串转换
如何把整数转换成字符串
如何把小数转换成字符串
把对象转换为字符串
情况一:当类中没实现 toString ,打印的是对象的地址
情况二:当实现 toString 后 ,打印结果为 Student{name='hanmeimei',age=18};
把字符串转成数字 (包括int,double类型)
字符串的大小写转换怎么实现,注意此时是重新生成了一个字符串对象,并不是把原来的字符串改变了
如何把字符串转成数组
如何把数组转成字符串
字符串的格式化
如何实现字符串的格式化
字符串的替换
如何实现字符串替换,注意不同的替换方式的区别,也是产生了一个新的字符串对象
一下替换方法的区别
字符串的拆分
如何实现字符串的拆分
String[ ] result = str.split(regex : " "); 与 String[ ] result = str.split(regex: " " ,limit: 2);的区别
怎么实现以'' . '' " - " '' + '' 等符号实现拆分
怎么实现以'' \ '' 等符号实现拆分
怎么实现以'' \\ '' 等符号实现拆分
怎么实现按照多个分隔符划分
String[] result = str.split(regex:"=|&");
如何实现多次拆分
字符串截取
如何实现字符串截取(包括普通截取、局部截取)
局部截取是也是左闭右开的
如何实现去除字符串的左右两边的空格
intern方法
一下打印结果及其原因是什么
char[] ch = new char[]{'a','b','c'};
String s1 = new String(ch);
String s1 = "abc";
System.out.println(s1 == s2);
//打印结果为 false
一下打印结果是什么,为什么
char[] ch = new char[]{'a','b','c'};
String s1 = new String(ch);
s1.intern();
String s1 = "abc";
System.out.println(s1 == s2);
//打印结果为 true
intern(手动入池)方法的作用
如何打印字符串对象的地址
字符串的不可变性
字符串的不可变性是因为什么
finnal 修饰 array 代表什么,array[0] 可以被改变吗
字符串的拼接是否创建了新对象
如:
String s = "hello";
s += "world";
StringBuilder 与 StringBuffer
怎么利用 stringBuilder.append 进行拼接
stringBuilder.append("abc").append("de");是合理的
stringBuilder.reverse();功能
string 与 stringBuilder 的方法形成了互补功能
stringBuffer 和 stringBuilder 有相同的功能
stringBuffer 比 stringBuilder 更安全,但是花费的时间更多
怎么把 StringBuffer 与 StringBuilder 类型转换成 String 类型
怎么把 String 类型 转换成 StringBuffer 与 StringBuilder 类型
练习题
有多种解法(不仅可以用到 String 知识,还可以用双指针,还有 Character 相关的方法)
https://leetcode.cn/problems/first-unique-character-in-a-string/