Java String

news/2024/11/8 22:42:25/

文章目录

  • String介绍
    • 常用方法
      • 比较
      • 查找
        • 转化
        • 拆分
        • 字符串截取
        • 其他常用
  • StringBuilder和StringBuffer
      • 主要方法
  • String、StringBuffer、StringBuilder的区别


String介绍

String 是我们经常用到的一个类, 那么接下啦会从常用方法, ,常见操作,字符串常量池,以及StringBuffer 和 StringBuilder等方面来介绍

常用方法

比较

equals(Object anObject) 方法:按照字典序比较
int compareTo(String s) 方法: 按照字典序进行比较
与equals不同的是,equals返回的是boolean类型,而compareTo返回的是int类型。具体比较方式:

  1. 先按照字典次序大小比较,如果出现不等的字符,直接返回这两个字符的大小差值
  2. 如果前k个字符相等(k为两个字符长度最小值),返回值两个字符串长度差值

查找

char charAt(int index)

返回index位置上字符,如果index为负数或者越界,抛出IndexOutOfBoundsException异常

int indexOf(int ch) 返回ch第一次出现的位置,没有返回-1

转化

数值和字符串转化
String s1 = String.valueOf(1234);
大小写转化
s1.toUpperCase())
字符串转数组
char[] ch = s.toCharArray();
格式化输出
String s = String.format(“%d-%d-%d”, 2019, 9,14);

拆分

String[] split(String regex) 将字符串全部拆分
String[] split(String regex, int limit) 将字符串以指定的格式,拆分为limit组
注意 :

  1. 字符"|“,”*“,”+"都得加上转义字符,前面加上 “\” .
  2. 而如果是 “” ,那么就得写成 “\\” .
  3. 如果一个字符串中有多个分隔符,可以用"|"作为连字符
String str = "hello world hello bit" ;
String[] result = str.split(" ",2) ;
for(String s: result) {System.out.println(s);
}

字符串截取

String substring(int beginIndex) 从指定索引截取到结尾
String substring(int beginIndex, int endIndex) 截取部分内容
注意

  1. 索引从0开始
  2. 注意前闭后开区间的写法, substring(0, 5) 表示包含 0 号下标的字符, 不包含 5 号下标,前闭后开

其他常用

String trim() 去掉字符串中的左右空格,保留中间空格
注:所有涉及到可能修改字符串内容的操作都是创建一个新对象,改变的是新对象

StringBuilder和StringBuffer

由于String的不可更改特性,为了方便字符串的修改,Java中又提供StringBuilder和StringBuffer类。这两个类大
部分功能是相同的,这里介绍 StringBuilder常用的一些方法,其它需要用到了大家可参阅 StringBuilder在线文档

https://docs.oracle.com/javase/8/docs/api/

主要方法

StringBuff append(Stringstr)

在尾部追加,相当于String的+=,可以追加:boolean、char、char[]、double、float、int、long、Object、String、StringBuff的变量

char charAt(int index)

    获取index位置的字符

int length()

获取字符串的长度

int indexOf(String str)

返回str第一次出现的位置

int indexOf(String str, int fromIndex)

从fromIndex位置开始查找str第一次出现的位置

int lastIndexOf(String str)

返回最后一次出现str的位置

int lastIndexOf(String str,int fromIndex)

从fromIndex位置开始找str最后一次出现的位置

StringBuff insert(intoffset, String str)

在offset位置插入:八种基类类型 & String类型 & Object类型数据

StringBuffer deleteCharAt(int index)

删除index位置字符

StringBuffer delete(int start, int end)

删除[start, end)区间内的字符

StringBuffer replace(int start, int end, String str)

将[start, end)位置的字符替换为str

String substring(int start)

从start开始一直到末尾的字符以String的方式返回

String substring(int start,int end)

将[start, end)范围内的字符以String的方式返回

StringBuffer reverse()

反转字符串

String toString()

将所有字符按照String的方式返回


String变为StringBuilder: 利用StringBuilder的构造方法或append()方法
StringBuilder变为String: 调用toString()方法

String、StringBuffer、StringBuilder的区别

String的内容不可修改,StringBuffer与StringBuilder的内容可以修改.
StringBuffer与StringBuilder大部分功能是相似的
StringBuffer采用同步处理,属于线程安全操作;而StringBuilder未采用同步处理,属于线程不安全操作


http://www.ppmy.cn/news/833894.html

相关文章

三孔插座接线方法(上地,左零,右火)

三孔插座接线方法 一般三孔插座的线序,如下图所示: 上:地线(保护地) 左:零线 右:火线(相线) 正确的接接线方法 错误的接线方法: 上述错误的接法会导致用电器…

精致露营带火户外电源,正浩、电小二遭疯抢,安克销量平平

文丨智能相对论 作者丨陈明涛 精致露营带火便携式小家电,也带火了户外电源。 根据《天猫2022年五一消费趋势报告》显示,今年4月20日-5月4日期间,户外电源的销售额同比增长了2倍以上。京东京造618开门红战报显示,其总成交额开场…

工业防水插头插座介绍与选型

工业用电大多使用三项电压,如三相380VAC、三相660VAC等。工业用电电压高于民用,因为设备的用电负荷大,如果连电设备(产品)的选择疏忽大意可能导致用电设备的随时断电,且存在极大的安全隐患。因此在电气联接…

火车上有插座吗?

因为有计划过段时间去坐一次长途火车,就想到了这个问题。虽然现在有了动车,但还是有好多线路没有开通,长途火车旅行的时间常常会超过二十个小时。这么长的时间,在火车这么狭小的空间里,的确很难打发,记得以…

131-安装“插座”

实际上,这一节的标题应该叫《创建套接字》,如果搞个这样的标题,未免也太学术了,不直观,还容易被群殴。 在上一讲中,我们只讲了“插座”它有一个地址叫“插座地址”,即套接字地址,可…

蓝桥杯—插座

1、问题描述 小蓝有一个插板,形状用一个 n * m 的01矩阵表示,0 表示板面,1 表示插孔。 小蓝还有一个插头,形状用一个 r * c 的01矩阵表示,0 表示没有伸出的部分,1 表示伸出的部分。插头伸出的部分必须插在插…

Homekit直连的国标插座

一款Homekit直连的插座,新国标版本,10A,支持苹果直连和智能音箱绑定控制,分为两个版本Cozylife和Homekit直连 Cozylife:使用Cozylife app,安卓和苹果用户都可下载,支持 Alexa echo、 Google Home、小爱同学…

国标5孔离线语音插座

又有一段时间没有更新了,前段时间趁着暑假和年假去了一趟张家界,感觉良好,大自然留给人类的绝世美景希望人类能好好珍惜,流传并造福子孙后代。 最近离线语音通断器也一直陆续的在研发完善着,其中6V~60V的版本因为电压范…