0130axy

字符串相关知识

String

API:应用程序编程接口

Scanner Random

帮助文档:java.long:不需要import

1.打开API帮助文档

2.点击显示,找到索引下面的输入

3.输入框输入类名并点击显示

4.查看类所在包

5.查看类的描述

6.查看构造方法

7.查看成员方法

字符串String

String StringBuilder StringJonier StringBuffer Pattern Matcher

String

java.long.String类中,不用导包

字符串:创建后不能修改

创建String对象的两种方式

1.直接赋值:String s1="acf"

2.new:

//传递一个字符串,根据传递的字符串内容再创建一个新的字符串对象
String s2 = new String();
System.out.println("@"+s2+"!");      //@!
```
//传递一个字符串,根据传递的字符串内容,再创建一个新的字符串对象
String s3 = new String("abc");
System.out.println(s3);
```
//传递一个字符串数组,根据字符数组的内容在创建一个新的字符串对象
//需求:修改字符串的内容   abcd--->bcde
char[] chs = {'a','b','c','d'};
String s4 = new String(chs);
System.out.println(s4);  //abcd
//传递一个字节数组,根据字节数组的内容创建一个新的字符串对象
//场景:网络中传输的为字节信息,字节信息转换为字符串
byte[] bytes={97,98,99,100};
String s5 = new String(bytes);
System.out.println(s5);    //abcd

内存分析: 栈 堆 方法区

栈:方法有关,方法运行时进栈 执行完毕出栈

堆:new出来的对象

方法区:方法加载

String Table串池

直接赋值:系统检测串池中是否存在该字符串,若有则复用,无则创建新的。

new:main方法进栈,不会复用

常用方法

  • 比较

==比较基本数据类型,比较数据值

比较引用数据类型:比较的是地址值

字符串内容比较

boolean equals:完全一致结果为true 否则为false

boolean equalsIgnoreCase:忽略大小写的比较

遍历字符串

public char charAt(int index);根据索引返回字符

public int length();返回字符串的长度

数组长度 数组名.length

字符串长度:字符串对象.length()

遇到题目进行分析

1.我要干什么?

2.干这件事,需要什么才能完成

3.调用处是否要继续使用方法的结果呢

截取方法:String substring(int beginIndex,int end,int endIndex) 包头不包尾,包左不包右

重载方法,截取到末尾:String substring(int beginIndex) 截取到末尾

替换:String replace(旧值,新值);返回值才是替换的结果

类StringBuilder

可以看作一个容器,创建之后内容可以变化,String返回值才可以变化 而StringBuilder 类可以变化

创建方法

空参:public StringBuilder()

有参:容器中有初始值public StringBuilder(String str)

成员方法

public StringBuilder append(添加数据,并返回对象本身)

public StringBuilder reverse() 反转内容

public int length() 返回长度

public String toString() 转换为String类型

使用String Builder的场景:反转和拼接字符串时

StringJoiner

可变的操作字符串的容器

构造方法

public StringJoiner(间隔符号)

public StringJoiner(间隔符号,开始符号,结束符号)

成员方法

public StringJoiner add(添加的内容) 添加

public int length() 返回长度

publicString toString() 返回一个字符串

posted on 2025-06-30 16:22  win_axy  阅读(13)  评论(0)    收藏  举报

导航