news 2026/5/1 8:45:04

String常用方法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
String常用方法

目录

一、String的常用方法

**注意点**:

1、Java 的 String 类型是不可变的

2、==与equal()

3、空指针异常:

1、基本信息与判断

1、length():获取字符串长度

2、isEmpty():判断字符串是否为空

3、isBlank():判断字符串是否为空或者仅包含空白字符(空格、换行)

4、charAt(int index):获取指定索引位置的字符

2、查找与截取

1、indexof(String str):查找子串第一次出现的位置,找不到返回-1

2、contains(charSequence s):判断是否包含某个子串

3、startsWith(String prefix) / endsWith(String suffix): 判断是否以某前缀开头或后缀结尾。

4、substring(int begin, int end): 截取子串(左闭右开区间)。

3、转换与处理

1、toLowerCase()/toUpperCase:转小写或大写

2、trim():去除首尾空格(ASCII空格)

3、strip():去除首位空白字符(支持Unicode空白)

4、replace(char old,char new):简单的字符或字符串替换

4、比较

1、equals(Object obj):比较字符串内容是否相等

2、equalsIgnoreCase(String str): 忽略大小写比较内容

5、编码与转换

1、valueOf(Object obj):将其他类型转换为字符串


一、String的常用方法

**注意点**:

1、Java 的 String 类型是不可变的

所有字符串操作方法(如 replace()、substring()、toUpperCase() 等)都会返回新的字符串对象
如果不接收返回值,原字符串不会发生任何变化。

字符串拼接用StringBuilder,String 是不可变的,每次 + 都会创建新的 String 对象,StringBuilder 是可变的,所有操作都在同一个对象上进行。

2、==与equal()

==比较的是内存地址,equal比较的是值。

(1)常量池

String a="123"; String b="123"; //由于 Java 的字符串常量池机制,a 和 b 都指向内存中的同一个 "123" 对象 故a==b返回true

(2)引用类

String a = new String("123"); String b = new String("123"); System.out.println(a == b); //输出flase,因为对象不一样 Integer a = new Integer(100); Integer b = new Integer(100); System.out.println(a == b); //也输出false

(3)自动装箱

Integer a = 100; // 自动装箱,会从缓存池取对象 Integer b = 100; System.out.println(a == b); // true(-128~127 范围内的整数会被缓存) Integer c = 200; Integer d = 200; System.out.println(c == d); // false(超出缓存范围,创建新对象)

3、空指针异常:

调用 s.equals("abc") 时,如果 s 为 null 会报错。建议写成 "abc".equals(s)(常量在前)。

1、基本信息与判断

1、length():获取字符串长度

String a="12345"; System.out.println(a.length()); //输出5

2、isEmpty():判断字符串是否为空

String a=" "; System.out.println(a.isEmpty()); //输出false

3、isBlank():判断字符串是否为空或者仅包含空白字符(空格、换行)

String a=" "; System.out.println(a.isBlank()); //输出true

4、charAt(int index):获取指定索引位置的字符

String a="12345"; System.out.println(a.charAt(1)); //输出2

2、查找与截取

1、indexof(String str):查找子串第一次出现的位置,找不到返回-1

String a="abc123abc123"; System.out.println(a.indexOf("123")); System.out.println(a.indexOf("456")); //输出 3 -1

2、contains(charSequence s):判断是否包含某个子串

String a="abc123abc123"; System.out.println(a.contains("123")); System.out.println(a.contains("1234")); //输出 true false

3、startsWith(String prefix) / endsWith(String suffix): 判断是否以某前缀开头或后缀结尾。

String a="abc123abc123"; System.out.println(a.startsWith("abc")); System.out.println(a.startsWith("bc1")); System.out.println(a.endsWith("123")); System.out.println(a.endsWith("abc")); //输出 true false true false

4、substring(int begin, int end): 截取子串(左闭右开区间)。

String a="abc123abc123"; System.out.println(a.substring(0,3)); System.out.println(a.substring(3,6)); //输出 abc 123

3、转换与处理

1、toLowerCase()/toUpperCase:转小写或大写

String a="aBc123abc123"; System.out.println(a.toLowerCase()); System.out.println(a.toUpperCase()); //输出 abc123abc123 ABC123ABC123

2、trim():去除首尾空格(ASCII空格)

String a=" aBc123abc123 "; System.out.println(a.trim()); //输出 aBc123abc123

3、strip():去除首位空白字符(支持Unicode空白)

4、replace(char old,char new):简单的字符或字符串替换

String a="abc123abc123"; a.replace("a","b"); System.out.println(a); a=a.replace("a","b"); System.out.println(a); //输出 abc123abc123 bbc123bbc123

5、split(String regex):按分隔符拆分字符串,返回字符串数组

String a="123456789123456789"; String[] s_arr = a.split("5"); for (String s:s_arr){ System.out.println(s); } //输出 1234 67891234 6789

4、比较

1、equals(Object obj):比较字符串内容是否相等

String a="123"; String b="123"; String c="456"; System.out.println(a==b); System.out.println(a.equals(b)); System.out.println(a.equals(c)); b=a; System.out.println(a==b); //输出 true true false true

2、equalsIgnoreCase(String str): 忽略大小写比较内容

String a="hello world"; String b="HELLO WORLD"; System.out.println(a.equalsIgnoreCase(b)); //输出 true

5、编码与转换

1、valueOf(Object obj):将其他类型转换为字符串

// int 转 String int num = 123; String str1 = String.valueOf(num); System.out.println(str1); // "123" // double 转 String double d = 123.456; String str2 = String.valueOf(d); System.out.println(str2); // "123.456" // boolean 转 String boolean b = true; String str5 = String.valueOf(b); System.out.println(str5); // "true" // Object 转 String(包括 null 安全) Object obj = new Object(); String str9 = String.valueOf(obj); System.out.println(str9); // java.lang.Object@hashcode // null 对象转 String(不会抛异常) Object nullObj = null; String str10 = String.valueOf(nullObj); System.out.println(str10); // "null" // Integer 对象转 String Integer integer = 456; String str11 = String.valueOf(integer); System.out.println(str11); // "456" // Double 对象转 String Double doubleObj = 78.90; String str12 = String.valueOf(doubleObj); System.out.println(str12); // "78.9" // char 数组转 String char[] charArray = {'H', 'e', 'l', 'l', 'o'}; String str13 = String.valueOf(charArray); System.out.println(str13); // "Hello" // char 数组部分转 String(从索引1开始,取3个字符) String str14 = String.valueOf(charArray, 1, 3); System.out.println(str14); // "ell"
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 8:45:01

电梯势能回收、逆变器的原理

一、电梯势能回收的原理(一句话版) 电梯重载下行、轻载上行、制动减速时,轿厢 / 对重的重力势能和动能反过来带动电机 “发电”,把机械能变成电能,再通过电力电子装置处理后送回电网或就地利用,而不是用电阻…

作者头像 李华
网站建设 2026/5/1 8:44:39

ViGEmBus:Windows内核级游戏控制器模拟框架的技术解析

ViGEmBus:Windows内核级游戏控制器模拟框架的技术解析 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus 在游戏开发和输入设备兼容性领域&#xff…

作者头像 李华
网站建设 2026/5/1 8:44:08

对比直接使用厂商 API 体验 Taotoken 聚合调用的便利性

对比直接使用厂商 API 体验 Taotoken 聚合调用的便利性 1. 统一协议与接口规范 在传统开发流程中,对接不同厂商的大模型 API 通常需要适配各自的协议规范。以 OpenAI 与 Anthropic 为例,两者在请求路径、参数命名和响应结构上存在显著差异。开发者需要…

作者头像 李华
网站建设 2026/5/1 8:42:43

医学图像零样本分类技术MGLL解析与应用

1. 医学图像零样本分类的挑战与机遇 医学影像诊断领域正面临着一个关键矛盾:一方面,新型成像设备和检查手段不断涌现,每天产生海量的CT、MRI、X光等医学图像;另一方面,针对罕见病症或新型疾病的标注数据极度匮乏。传统…

作者头像 李华