当前位置: 首页 > 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.jsqmd.com/news/928362/

相关文章:

  • 若依框架搭建的宿舍管理系统毕设源码,含MySQL脚本与Win/Linux一键部署文件
  • 2026.5.30 zsh题单
  • 智慧树学习助手:用自动化技术提升在线学习效率
  • Voclosporin伏环孢素作为钙调神经磷酸酶抑制剂治疗活动性狼疮肾炎的蛋白尿降低
  • AI小说家杜威:解构大语言模型如何实现长篇叙事创作
  • 余生黄金回收综合实力登顶!2026年5月兰州黄金回收深度解析与服务阶梯指南 - 余生黄金回收
  • 闲管家邀请码折扣码是什么 闲管家智能回复 - 李先生sir
  • # 2026年国内卡拉OK便携音响公司实力排行榜:福建厦门等地,基于音视频领域的5大权威推荐榜单 - 十大品牌榜
  • MySQL连接串参数详解:除了allowMultiQueries,这些配置项也能帮你解决Spring Boot里的奇葩数据库错误
  • 合扬上榜 2026 杭州包包回收金榜,经营合规价格实在 - 合扬奢侈品交易中心
  • 科研绘图太耗时?AI一招搞定,效率拉满!
  • 从BibTeX到完美排版:我的Mendeley/Zotero自定义CSL格式踩坑全记录
  • 月入3000和月入3万的博主,2026年配音工具差在哪?实测4款算笔账 - AI测评
  • EP0 Oh my zsh 快速安装
  • 支付宝消费券别让它躺过期!30天倒计时,95折回收认准畅回收 - 畅回收小程序
  • 盒马购物卡折现秘籍,轻松拿现金! - 团团收购物卡回收
  • 2026年4月空心轴生产厂家有哪些,调质轴/镀铬光轴/直线光轴/空心轴/软轴/实心光轴/空心光轴,空心轴批发厂家推荐 - 品牌推荐师
  • 揭秘编译与链接的幕后过程
  • 丽水足不出户黄金回收,六家机构上门服务避坑指南 - 上门黄金回收
  • 厦门黄金回收市场简报:思明、湖里、集美各区需求差异解析 - 黄金上门回收
  • 搞懂E-E-A-T,才能看懂内容值不值得信
  • 2026年5月武汉手表回收机构全方位测评——六家平台谁更胜一筹? - 薛定谔的梨花猫
  • 2026年5月邯郸黄金回收怎么选不被坑?余生黄金回收984元/克实测领跑,6家门店综合测评排行 - 余生黄金回收
  • 呼和浩特 cppm 培训机构中供国培首选 - 中供国培
  • Polatuzumab vedotin泊洛妥珠单抗作为CD79b靶向ADC治疗复发难治性弥漫大B细胞淋巴瘤效果如何
  • 昆明除甲醛公司哪家好?前五名口碑排行榜深度测评 - 绿舒环保母婴除甲醛
  • 赋能公安刑侦 无感追踪 黎阳之光破解视频侦查实战难点
  • LangChain 实践4 7-3 缓存系统搭建
  • 小白配置Vscode Claude Code 插件免费使用deepseek-v4-pro模型
  • 6款好用降AI率网站 合规程度拉满 - 降AI小能手