Java常用字符串方法

目录

 

1、String

1.1、什么是String

1.2、String的特点:

1.3、创建字符串的2种常用方法

2、常用字符串方法

2.1、字符串长度

2.2、连接字符串

2.3、charAt(int index)

2.4、indexOf(int ch)从前向后查找

2.5、lastIndexOf(int ch)从前向后查找

2.6、substring(int beginIndex)

2.7、 substring(int beginIndex,int endIndex)

2.8、 startsWith()

2.9、 endsWith()

2.10、 trim()

2.11、 replace()

2.12、toCharArray()

2.13、split()

3、StringBuffer 和 StringBuilder 类

3.1、StringBuffer经常用法

3.2、 StringBuilder经常用法



1、String

基本数据类型(四类八种) :不属于Object类型的继承体系之下

引用数据类型(字符串,数组,自定义类型) :属于对象类型 Object类型的继承体系之下。

1.1、什么是String

字符串 , 引用类型。(基本类型的变量存储的是数据,引用类型的变量存储的是数据的地址)字符串对象。

1.2、String的特点:

        字符串不可变

        每一个字符串都是String类的实例对象

        正是因为字符串是不可变的,所以字符串是共享的。

        字符串的效果上相当于一个char[] 数组,但是它的底层原理是byte[] 字节数组。

1.3、创建字符串的2种常用方法

        最常用的直接创建 String str = "aaa";

        注意:直接使用双引号的就是字符串对象。虽然没有new

        通过构造方法创建

        String str = new String("aaa");

两者的区别:

        String 创建的字符串存储在公共池中,而 new 创建的字符串对象在堆上:

2、常用字符串方法

2.1、字符串长度

        用于获取有关对象的信息的方法称为访问器方法。

        String 类的一个访问器方法是 length() 方法,它返回字符串对象包含的字符数。

String str = "aaaaaaaa";
 int len = str.length();//len代表此字符串的长度

2.2、连接字符串

        String 类提供了连接两个字符串的方法:

        1、cancat()

String string1="我的名字是:";
String string2="小花";
string1.concat(string2);//此时打印结果为:我的名字是:小花

        2 、使用'+'操作符来连接字符串

"Hello," + " World" + "!!!!!"

2.3、charAt(int index)

返回指定索引处的值。

String str="  hello";
 System.out.println(str.charAt(3));//打印结果为e

2.4、indexOf(int ch)从前向后查找

指定字符第一次出现的字符串中的索引

String str="hello 11 wang";
System.out.println(str.indexOf("e"));//返回结果为1

2.5、lastIndexOf(int ch)从前向后查找

指定字符最后一次出现的字符串中的索引。

String str="whhng";
 System.out.println(str.lastIndexOf("h"));//输出结果为2

2.6、substring(int beginIndex)

返回一个字符串,返回从起始位置(beginIndex)至字符串末尾的字符串

String str="whhng";
System.out.println(str.substring((2)));//返回结果为hng

2.7、 substring(int beginIndex,int endIndex)

 返回从起始位置(beginIndex)到目标位置(endIndex)之间的字符串,但不包含目标位置(endIndex)的字符

String str="whhng";
System.out.println(str.substring(2,4));//输出结果hn

2.8、 startsWith()

用于检测字符串是否以指定的前缀开始。其语法

public boolean startsWith(String prefix, int toffset)
或
public boolean startsWith(String prefix)


 prefix -- 前缀。
 toffset -- 字符串中开始查找的位置。
如果字符串以指定的前缀开始,则返回 true;否则返回 false。

String str="whhng";
System.out.println(str.startsWith("w"));//结果为true

2.9、 endsWith()

测试此字符串是否以指定的后缀结尾。其语法

public boolean endsWith​(String suffix)
参数
    suffix - 后缀。 
结果
    true如果参数表示的字符序列是该对象表示的字符序列的后缀; 否则为false 。

String str="whhng";
System.out.println(str.endsWith("l"));//结果为false

2.10、 trim()

用于删除字符串的头尾空白符。

public String trim()
内部无参数
String str="  whhng";
System.out.println(str.trim());//结果为whhng

2.11、 replace()

通过用 newChar 字符替换字符串中出现的所有 searchChar 字符,并返回替换后的新字符串。

public String replace(char searchChar, char newChar)    
参数
    searchChar -- 原字符。
    newChar -- 新字符。

返回值
替换后生成的新字符串。

String str="  whhng";
 System.out.println(str.replace("h","a"));//输出结果为  waang

2.12、toCharArray()

将字符串转换为字符数组。

public char[] toCharArray()

无参数
返回值是字符数组。

String Str = new String("whhng");
  System.out.println( Str.toCharArray() );//返回whhng

2.13、split()

根据匹配给定的正则表达式来拆分字符串

 . 、 $、 | 和 * 等转义字符,必须得加 \\。
多个分隔符,可以用 | 作为连字符。

语法
public String[] split(String regex, int limit)
参数
    regex -- 正则表达式分隔符。
    limit -- 分割的份数。

返回值是字符串数组。

3、StringBuffer 和 StringBuilder 类

当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。

和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。

在使用 StringBuffer 类时,每次都会对 StringBuffer 对象本身进行操作,而不是生成新的对象,所以如果需要对字符串进行修改推荐使用 StringBuffer。

StringBuilder 类和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。

3.1、StringBuffer经常用法

序号方法
1public StringBuffer append(String s)
将指定的字符串追加到此字符序列。
2public StringBuffer reverse()
 将此字符序列用其反转形式取代。
3public delete(int start, int end)
移除此序列的子字符串中的字符。
4public insert(int offset, int i)
将int 参数的字符串表示形式插入此序列中。
5insert(int offset, String str)
str 参数的字符串插入此序列中。
6replace(int start, int end, String str)
使用给定 String 中的字符替换此序列的子字符串中的字符。

3.2、 StringBuilder经常用法

序号方法
1

StringBuilder append(int i);

int参数的字符串表示形式追加到此序列

2

charAt(int index)

返回指定索引处的此序列中的 char值。

3

StringBuilder delete(int start, int end);

删除此序列的子字符串中的字符。

4

StringBuilder insert(int offset, String str);

将字符串插入此字符序列。

5

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

使用指定的 String的字符替换此序列的子字符串中的字符。

6StringBuilder reverse()
 将此字符序列用其反转形式取代。
7

StringBuilder substring(int start)

返回一个新的 String ,其中包含此字符序列中当前包含的字符的子序列。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值