栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

零、Java中关于字符串的基本操作

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

零、Java中关于字符串的基本操作

Java中关于字符串的基本操作
  • 一、String
    • 1 String的两种实例化方式
      • 1.1 字面量定义
      • 1.2 通过new + 构造器
    • 2. String类的细节阐述
    • 3. String的常用操作
      • 3.1 字符串的长度
      • 3.2 得到索引处的字符
      • 3.3 判断是否为空
      • 3.4 比较字符串内容
      • 3.5 获取字符串的子串
      • 3.6 切分字符串为数组
  • 二、StringBuffer
    • 1. StringBuffer的实例化方式
    • 2. 细节阐述
    • 3. 常用操作
      • 3.1 增加
      • 3.2 删除
      • 3.3 修改
      • 3.4 查询
      • 3.5 插入
      • 3.6 长度
      • 3.7 反转
  • 三、StringBuilder

一、String 1 String的两种实例化方式 1.1 字面量定义
String s = "javaEE";
  • 通过字面量定义的方式所声明的字符串,都会定义在方法区中的字符串常量池中,变量s直接保存常量池中字符串常量的地址值。
1.2 通过new + 构造器
String s = new String("javaEE");
  • 通过new + 构造器方式所声明的字符串,会在堆和常量池中都创建对象,变量s中保存堆中变量的地址值,堆中的变量保存常量池中字符串常量的地址值。
2. String类的细节阐述
  • String声明为final的,不可被继承。
  • String实现了Serializable接口,表示字符串是支持序列化的;实现了Compareable接口,表示String可以比较大小。
  • String内部定义了final char[] value用于存储字符串数据
  • String代表不可变的字符序列,简称:不可变性
    1. 当对字符串重新赋值时,需要重写指定内存区域赋值,不能使用原有的value进行赋值。
    2. 当对现有的字符串进行连接操作时,也需要重写指定内存区域赋值,不能使用原有的value进行赋值。
    3. 当调用String的replace()方法修改指定字符或字符串时,也需要重写指定内存区域赋值,不能使用原有的value进行赋值。
  • 字符串的拼接
    1. 常量与常量的拼接结果在常量池,且常量池中不会存在相同内容的常量。
    2. 只要有其中一个是变量,结果就在堆中。
    3. 如果拼接的结果调用intern()方法,返回值就在常量池中。
3. String的常用操作 3.1 字符串的长度
int length()//返回字符串的长度,返回值为int类型
3.2 得到索引处的字符
char charAt(int index);返回字符串索引处的字符,返回值为char类型
3.3 判断是否为空
boolean isEmpty();//返回字符串是否为空字符串,底层判断value数组元素个数是否为0
3.4 比较字符串内容
boolean equals(Object obj);//比较两个字符串内容是否相同
3.5 获取字符串的子串
String substring(int beginIndex, int endIndex);
//返回一个新字符串,它是此字符串从beginIndex开始截取到endIndex(不包含)的一个子字符串
3.6 切分字符串为数组
String[] split(String regex);返回一个数组,根据给定正则表达式的匹配拆分此字符串。
二、StringBuffer 1. StringBuffer的实例化方式
StringBuffer stringBuffer = new StringBuffer("javaEE");
2. 细节阐述
  • StringBuffer:可变字符序列;线程安全的的,效率低;底层用char[]存储
3. 常用操作 3.1 增加
append(xxx);//在字符串尾部增加元素
3.2 删除
delete(int start, int end);//删除索引从start到end的元素,不包含end
3.3 修改
setCharAt(int n , char ch)/replace(int start, int end, String str)
3.4 查询
charAt(int n)
3.5 插入
insert(int offset, xxx)//在offset索引处,插入xxx
3.6 长度
int length()
3.7 反转
StringBuffer.reverse();
三、StringBuilder
  • StringBuilder的操作方法和StringBuffer一样,两者唯一的区别就是,StringBuffer是线程不安全的,效率高。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/851777.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号