一、String
String表示一个字符串,内部使用字符数组实现,
1、String赋值的两种方式:(建议采用第一种)
1)直接赋值
String = "学习"
2)使用对象赋值
String str = new String();
str = "学习"
String对象在使用时,会自动创建一个对象,如果之前在常量区没有创建常量,该对象会在常量区创建变量,相当于创建两个对象
2、编译期与运行期分析
String在编译期时,如果值可以确定,那么就使用已有的对象,否则创建新的对象,当给String赋值为常量时,也不会创建新的对象
3、String常用方法
1)public char CharAt():根据下标找到指定字符
2)public char[] toCharAray():以数组的形式返回全部字符内容
3)public String(char[] value):将全部的字符数组变为字符串
4)public String(char[] value,offset,int count):将指定范围字符数组变为字符串
二、StringBuffer
将字符串拼接起来,不使用+号,提高效率,其中默认长度为16,如果要扩充,其大小为*2+2
常用方法:
1)public StringBuffer():构造空的对象
2)public StringBuffer(String str):将指定string变为StringBuffer内容
3)public StringBuffer(CharSequence cse):提供接口实例
4)public StringBuffer append():提供append方法用于拼接
5)public StringBuffer delete(int start,int end):删除指定位置内容
6)public int indexOf(String str):字符串的查询功能
7)public StringBuffer insert(int offset):将指定位置内容替换为其他内容
8)public String subString(int start,int end):截取指定位置内容
9)public String subString(int start):字符串截取
10)public StringBuffe reverser():字符串反转
三、StringBulider
StringBuffer的兄弟类区别如下:
1)StringBuffer,线程安全,适合多线程使用,性能较低
2)StringBulider,线程不安全,适合单线程使用,性能较高
字符串相加原理分析:
1、多个常量相加没有性能问题
2、变量与常量相加会产生垃圾对象