Java---String类
创建字符串
三种方法:
字符串比较相等
“==” 在JAVA中不是比较内容是否相等,而是比较两个引用是否指向同一个对象.(用于比较身份)
“equals” 在Java中用于比较内容是否相等
注意:在上面的最后一行代码中,比较一个字符是否与已知的字符串相等.最好把比较的写在前面.否则会发生空指针异常!
字符串常量池
同一个字符串可能会被存储多次,因此我们可以采取让字符串入池的方式减少内存的消耗.使用intern()的方法手动入池.
Java中字符串是不可变的,要想修改字符串怎么办?
修改的字母+str.substring()方法
字符与字符串
1.public Srting(char value[]) 将字符数组中的所有内容转换成字符串
2.public String(char value[],int offset,int count) 将字符数组中的部分内容转换成字符串
3.public char charAt(int index) 取得指定索引位置的字符,索引从0开始
4.public char[] toCharArray() 将字符串变为字符数组返回
字符串与字符数组的转换
字节与字符串
1.public String(byte bytes[]) 将字节数组变为字符串
2.public String(byte bytes[],int offset,int count) 将字节数组中的部分内容转化为字符串
3.public byte[] getBytes( ) 将字符串以字节数组的形式返回
4.public byte getBytes(String charsetName) throws unsupportedEncodingException 编码转换处理
字节与字符的转化
byte与String
byte[] 是把 String 按照一个字节一个字节的方式处理, 这种适合在网络传输, 数据存储这样的场景下使用. 更适合针对二进制数据来操作.
char[] 是吧 String 按照一个字符一个字符的方式处理, 更适合针对文本数据来操作, 尤其是包含中文的时候.
字符串的三种比较
1.public boolean equals() //区分大小写
2.public boolean equalsIgnoreCase() //不区分大小写
3.public int compareTo() //比较两个字符串的大小关系
相等 返回0
小于 返回<0的任何值
大于 返回>0的任何值
字符串的一系列查找
字符串替换
1.public String replaceAll(String regex,String replacement) 替换所有内容
2.public String repaceFirst(String regex,String replacement) 替换部分内容
注意: 由于字符串是不可变对象, 替换不修改当前字符串, 而是产生一个新的字符串.
字符串拆分
1.public String[] split (String regex) 将字符串全部拆分
2.public String[] split (String regex int limit) 将字符串部分拆分
其他拆分
注意:
- 字符"|","*","+“都得加上转义字符,前面加上”".
- 而如果是"",那么就得写成"\".
- 如果一个字符串中有多个分隔符,可以用"|"作为连字符
多次拆分
字符串截取
1.public String substring(int beginIndex) 从头截取
2.public String substring(int beginIndex,int endIndex) 截取部分
//从0开始 前闭后开区间
其他操作方法
stringBuffer和stringBuilder
String是不可修改的 因此我们引入了上述两种
stringBuffer 同步处理 线程安全
stringBuilder 不同步处理 线程不安全