当前位置: 首页 > news >正文

【Java-Day14】API篇-字符串

目录

一.使用api帮助文档

二.API-字符串String

三.字符串中的常见成员方法

3.1 比较

3.1.1 == 比较基本数据类型

3.1.2 == 比较引用数据类型

3.1.3 比较字符串(equals)

3.2 获取单个字符 charAt

3.3 截取substring

3.4 替换 replace

3.5 是否包含 contains

3.6 判断开头、结尾 startswith/endswith

3.7 查找 indexOf(int ch) lastIndexOf(int ch)

3.8 判断是否为空 isEmpty()

3.9 转字符数组 toCharArray()

3.10 大小写转换 toUpperCase()、toLowerCase()

3.11 去除头尾空格 trim()

3.12 按照格式切割字符串 split()

四.StringBuilder 频繁拼接字符串

StringBuilder的构造方法:

StringBuilder的常见成员方法:

五.String 和 StringBuilder 的区别


一.使用api帮助文档

步骤:

  1. 打开API帮助文档
  2. 点击显示,并找到索引下面的输入
  3. 在输入框中输入类名并点击显示
  4. 查看类所在的包
  5. 查看类的描述
  6. 查看构造方法
  7. 查看成员方法

使用别的包里的类需要导包。

举个例子(获取一个随机小数)

//导包:定位Random类的位置 import java.util.Random; public class Test { public static void main(String[] args) { //1.创建Random对象 Random r = new Random(); //2.调用方法获取一个随机小数(0.0-1.0) double v = r.nextDouble(); System.out.println(v); } }

在以下情况下不需要导包:

  1. 使用本包中的类不用导包
  2. 使用java.lang包里的类不用导包

二.API-字符串String

1.String是Java定义好的一个类。定义在java.lang包中,使用的时候不需要导包。

2.Java程序中的所有字符串文字(例如"abc")都是此类的对象

3.字符串不可变,它们的值在创建后不能被更改

创建字符串对象的方式:

第一种:直接赋值

String s1 = "abc";

第二种:new关键字 + 构造方法的方式创建字符串对象

public static void main(String[] args) { //1.new + 空参构造 String s1 = new String(); System.out.println(s1);//输出空 //2.new + 有参构造 //根据传进来的字符串内容,创建一个新的字符串对象 String s2 = new String("hello"); System.out.println(s2);//输出hello //3.new + 有参构造(字符数组 char []) char[] c = {'a','b','c'}; String s3 = new String(c);//创建一个新的字符串对象 System.out.println(s3);//输出abc //4.new + 有参构造(字节数组byte []) //根据ASCII码创建字符串对象 byte[] b = {97,98,99}; String s4 = new String(b); System.out.println(s4);//输出abc }

public String() 空白字符串,不含任何内容

public String(String original) 根据传入的字符串,创建新的字符串对象

public String(char[] chs) 根据字符数组,创建字符串对象

public String(byte[] chs) 根据字节数组,创建字符串对象

获取字符串对象的两种方式的区别

  • 直接赋值:代码简单+串池复用节约内存(串池在堆里)
  • new:每次都会创建一个新的字符串对象,不复用,开辟新的内存地址

三.字符串中的常见成员方法

3.1 比较

==比较地址,equals比较内容

3.1.1 == 比较基本数据类型

基本数据类型比较的是数据值

int a = 10; int b = 20; System.out.println(a == b); //false

3.1.2 == 比较引用数据类型

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

String s1 = new String("abc"); String s2 =new String("abc"); System.out.println(s1 == s2);//false

3.1.3 比较字符串(equals)

  • booleanequals方法(要比较的字符串)完全一样结果才是true,否则为false(比较用户名密码)
  • booleanequalsIgnoreCase(要比较的字符串)忽略大小写的比较(比较验证码)
String s1 = "zhangsan"; String s2 = "Zhangsan"; boolean equals1 = s1.equals(s2); boolean equals2 = s1.equalsIgnoreCase(s2); System.out.println(equals1);//false System.out.println(equals2);//true

string的底层实现还是数组,s1,s2本质存的就是内存地址,比较就是比较s1 s2里的内容。

比较的也是内存地址。内存地址不同就不同。

不过s1.equals(s2)可以实现只比较字符是否相同

3.2 获取单个字符 charAt

遍历字符串

  • public charcharAt(int index):根据索引返回字符
  • public intlength():返回此字符串的长度
  • 数组的长度:数组名.length
  • 字符串的长度:字符串对象.length()
// 1. charAt String str="你好你好123"; char c = str.charAt(5); System.out.println(c);//2 // 2.length int len = str.length(); System.out.println(len);//7

遍历字符串:

Scanner sc = new Scanner(System.in); String str=sc.next(); //字符串遍历中循环的快速生成方式:str.length().fori for(int i=0;i<str.length();i++){ System.out.print(str.charAt(i)); }

3.3 截取substring

数据脱敏

Stringsubstring(int beginIndex, int endindex)截取

  • 注意点:包头不包尾,包左不包右
  • 只有返回值才是截取的小串

String substring(int beginIndex) 截取到末尾

3.4 替换 replace

敏感词屏蔽

Stringreplace(旧值,新值) 替换

  • 注意点:只有返回值才是替换之后的结果

3.5 是否包含 contains

boolean b = str.contains("abc");

3.6 判断开头、结尾 startswith/endswith

参数有一个参数和两个参数

两个参数就是以第二个参数为索引开始。判断开头

boolean b2 = str.startsWith("abc");

3.7 查找 indexOf(int ch) lastIndexOf(int ch)

查找当前字符串第一次/最后一次出现的索引

int i1 = str.indexOf(97);

3.8 判断是否为空 isEmpty()

boolean empty = str.isEmpty();

3.9 转字符数组 toCharArray()

"abcdaefg" ->['a','b','c','d','a','e','f','g']

char[ ] array = str.toCharArray();

3.10 大小写转换 toUpperCase()、toLowerCase()

String upper = str.toUpperCase();

3.11 去除头尾空格 trim()

String trim = str3.trim();

3.12 按照格式切割字符串 split()

String[] arr = s.split(",");

四.StringBuilder 频繁拼接字符串

StringBuilder 是一个类,先创建 StringBuilder 类的对象,然后通过对象调用它的方法。

StringBuilder sb = new StringBuilder();

StringBuilder的构造方法:

  • public StringBuilder() 空参构造
  • public StringBuilder(String str) 带参构造

StringBuilder的常见成员方法:

  • append(任意类型) 添加数据
  • reverse() 反转内容
  • int length() 获取长度
  • toString 转回字符串

五.String 和 StringBuilder 的区别

String 字符内容不能改,StringBuilder 内容可以改。

String:字符串,内容不可变,适合保存普通文本。

StringBuilder:可变字符串容器,适合频繁拼接、反转、修改。

http://www.zskr.cn/news/1439695.html

相关文章:

  • 若依框架搭建的宿舍管理系统毕设源码,含MySQL脚本与Win/Linux一键部署文件
  • # 2026年国内卡拉OK便携音响公司实力排行榜:福建厦门等地,基于音视频领域的5大权威推荐榜单 - 十大品牌榜
  • 合扬上榜 2026 杭州包包回收金榜,经营合规价格实在 - 合扬奢侈品交易中心
  • 盒马购物卡折现秘籍,轻松拿现金! - 团团收购物卡回收
  • 揭秘编译与链接的幕后过程
  • 厦门黄金回收市场简报:思明、湖里、集美各区需求差异解析 - 黄金上门回收
  • 搞懂E-E-A-T,才能看懂内容值不值得信
  • 2026年5月邯郸黄金回收怎么选不被坑?余生黄金回收984元/克实测领跑,6家门店综合测评排行 - 余生黄金回收
  • LangChain 实践4 7-3 缓存系统搭建
  • 2026年5月武汉奢侈品回收行业深度解读——市场风向标与六强态势 - 薛定谔的梨花猫
  • 绍兴黄金回收避坑:核心商圈常见套路与六家正规机构 - 上门黄金回收
  • 别再傻傻轮询了!STM32F103串口+DMA双缓存实战,让你的CPU占用率降下来
  • 泉州除甲醛公司哪家好?前五名口碑排行榜深度测评 - 绿舒环保母婴除甲醛
  • 2026年5月邯郸黄金变现全攻略:余生黄金回收984元/克领跑,6家正规门店实力排行无死角覆盖 - 余生黄金回收
  • 2026杭州萧山黄金回收推荐,黄金回收商,金丝回收,黄金保管,劳力士回收,范思哲包回收优选指南! - 品牌鉴赏师
  • 【字节跳动】豆包的系统对用户各类隐私数据的全面抓取方案,涉及八大核心领域:1.物流信息(实名收寄件、驿站记录、包裹内容);2.健康数据(诊疗记录、用药信息、体检报告);3.职场隐私(薪资、求职意向、同
  • 解决USB断连终极指南
  • 2026年Q2口碑好的合肥防水补漏公司推荐|最新专业防水补漏公司排名官方权威发布 - 安互工业信息
  • 【大模型对话】大模型对话送审核心知识点
  • FreePBX不止是内部电话:用它低成本搭建一个小型呼叫中心需要几步?
  • AI教材写作新突破!高效工具助力低查重教材编写,轻松搞定长篇内容!
  • 浏览器市场与用户画像分析-数据加工
  • 跨学科共情AI:多模态感知与情感推理的架构设计与工程实践
  • Gemini 英文论文(SCI/EI)写作:从“中式英语”到顶刊表达的实战重构
  • # 2026年国内莱赛尔牛仔布公司排行榜:广东佛山等地,五大推荐榜单 - 十大品牌榜
  • 如何高效使用RePKG:Wallpaper Engine资源提取与TEX转换完整指南
  • 基于分数阶傅里叶变换与LSTM的AI音乐生成系统:原理、实现与调优
  • 怎么寄快递更划算?普通人的经验与注意事项
  • 2026年5月荆州黄金回收哪家靠谱?余生黄金回收领衔六大正规门店星级排行,沙市荆州纪南全域实测干货 - 余生黄金回收
  • Hermes Agent Docker 离线部署完整指南