String类、有关字符串的操作查找、替换等
分类:
文章
•
2024-06-10 15:10:52
- 字符串使用就采用直接赋值。
- 字符串相等比较
(1)字符串内容比较就使用equals()实现;
(2) == 本身是进行数值比较的,如果现在用于对象比较,那么所比较的就应该是两个对象所保存的内存地址数值比较,而并没有比较对象的内容。
- 字符串别改变太多
- String类的设计使用了共享设计模式
在JVM底层实际上会自动维护一个对象池(字符串对象池),如果现在采用了直接赋值的模式进行String类的对象实例化操作,那么该实例化对象(字符串内容)将自动保存到这个对象池之中。
如果下次继续使用直接赋值的模式声明String类对象,此时对象池之中如若有指定内容,将直接进行引用;如若没有,则开辟新的字符串对象而后将其保存在对象池之中以供下次使用,所谓的对象池就是一个对象数组(目的就是减少开销)
- String类中两种对象实例化的区别
(1)直接赋值:只会开辟一块堆内存空间,并且该字符串对象可以自动保存在对象池中以供下次使用。
(2) 构造方法:会开辟两块堆内存空间,其中一块成为垃圾空间,不会自动保存在对象池中,可以使用intern()方法手工入池。
6.字符串和字符数组相互转换


7.字符串和字节数组相互转换


8.字符串比较
9.字符串查找

10.字符串替换

11.字符串截取

12.字符串首字母大写