Java学习笔记(四)String类、StringBuffer和StringBuilder

Object、包装类、数学处理类的常用方法


一、String类

String类由final关键字修饰,表示该类不能被继承。
从jdk1.9开始该类的底层不使用char[]来存储数据,而是改成 byte[]加上编码标记,从而节约了一些空间。

常量池

由于String类型描述的字符串内容是常量不可改变,因此Java虚拟机将首次出现的字符串放入常量池中,若后续代码中出现了相同字符串内容则直接使用池中已有的字符串对象而无需申请内存及创建对象,从而提高了性能。

常用的构造方法

方法声明功能介绍
String()使用无参方式构造对象得到空字符序列
String(char[] value)使用value数组中的所有内容构造对象
String(char[] value, int offset, int count)使用value数组中下标从offset位置开始的count个字符来构造对象
String(byte[] bytes)使用bytes数组中的所有内容构造对象
String(byte[] bytes, int offset, int length)使用bytes数组中下标从offset位置开始的length个字节来构造对象
String(String original)根据参数指定的字符串内容来构造对象,新创建对象为参数对象的副本

常用的成员方法

indexOf 字符串中字符出现的位置或该位置的字符串
substring 获取字符串子串
toCharArray 字符串转换为char数组
split 字符串分割

关于查找

方法声明功能介绍
char[] toCharArray()将当前字符串内容转换为char数组并返回
char charAt(int index)返回字符串指定位置的字符。
byte[] getBytes()将当前字符串内容转换为byte数组并返回

在这里插入图片描述

关于比较

方法声明功能介绍
int compareTo(String anotherString)用于比较调用对象和参数对象的大小关系
int compareToIgnoreCase(String str)不考虑大小写,也就是’a’和’A’是相等的关系
boolean equalsIgnoreCase(String anotherString)用于比较字符串内容是否相等并返回,不考虑大小写,如:'A’和’a’是相等

关于字符串转换

在这里插入图片描述

正则表达式相关的方法

在这里插入图片描述

二、 StringBuffer和StringBuilder

StringBuffer类是从jdk1.0开始存在,属于线程安全的类,因此效率比较低。
StringBuilder类是从jdk1.5开始存在,属于非线程安全的类,效率比较高。

StringBuilder类常用的成员方法

在这里插入图片描述

StringBuilder的很多方法的返回值均为StringBuilder类型。这些方法的返回语句均为:return this。
由此可见,这些方法在对StringBuilder所封装的字符序列进行改变后又返回了该对象的引用。基于这样设计的目的在于可以连续调用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值