当前位置: 首页> 科技> 互联网 > Java 字符串处理

Java 字符串处理

时间:2025/9/10 4:35:16来源:https://blog.csdn.net/Itmastergo/article/details/139256619 浏览次数:3次

Java 是一种广泛使用的编程语言,而字符串处理是 Java 编程中非常重要的一部分。Java 提供了丰富的字符串操作功能,通过 String 类和 StringBuilder、StringBuffer 类来处理字符串。

一、Java 字符串的创建

1. 使用字面量

在 Java 中,字符串字面量是最常见的字符串创建方式:

String str = "Hello, World!";

2. 使用 new 关键字

使用 new 关键字创建字符串:

String str = new String("Hello, World!");

虽然这两种方式看似相同,但它们在内存管理上有所不同。字面量方式会将字符串放在字符串池中,而使用 new 关键字则会在堆上创建一个新的字符串对象。

3. 使用字符数组

可以通过字符数组来创建字符串:

char[] charArray = {'H', 'e', 'l', 'l', 'o'};
String str = new String(charArray);

二、字符串的操作

1. 连接字符串

使用 + 运算符

最简单的字符串连接方式是使用 + 运算符:

String str1 = "Hello, ";
String str2 = "World!";
String str3 = str1 + str2;  // str3 内容为 "Hello, World!"
使用 concat 方法

concat 方法也可以用来连接字符串:

String str1 = "Hello, ";
String str2 = "World!";
String str3 = str1.concat(str2);  // str3 内容为 "Hello, World!"

2. 字符串比较

使用 equals 方法

equals 方法用于比较两个字符串的内容是否相同:

String str1 = "Hello";
String str2 = "Hello";
boolean isEqual = str1.equals(str2);  // isEqual 为 true
使用 == 运算符

== 运算符比较的是两个字符串对象的引用是否相同:

String str1 = "Hello";
String str2 = new String("Hello");
boolean isSame = (str1 == str2);  // isSame 为 false

3. 查找字符串

使用 indexOf 方法

indexOf 方法返回子字符串在字符串中第一次出现的位置:

String str = "Hello, World!";
int index = str.indexOf("World");  // index 为 7
使用 lastIndexOf 方法

lastIndexOf 方法返回子字符串在字符串中最后一次出现的位置:

String str = "Hello, World! Hello!";
int index = str.lastIndexOf("Hello");  // index 为 14

4. 字符串替换

使用 replace 方法

replace 方法用于将字符串中的某个子字符串替换为另一个字符串:

String str = "Hello, World!";
String newStr = str.replace("World", "Java");  // newStr 内容为 "Hello, Java!"
使用 replaceAll 方法

replaceAll 方法使用正则表达式替换字符串中的所有匹配项:

String str = "Hello, World! Hello!";
String newStr = str.replaceAll("Hello", "Hi");  // newStr 内容为 "Hi, World! Hi!"

5. 字符串分割

使用 split 方法

split 方法使用正则表达式将字符串分割为子字符串数组:

String str = "apple,banana,orange";
String[] fruits = str.split(",");  // fruits 为 ["apple", "banana", "orange"]

6. 字符串子串

使用 substring 方法

substring 方法用于提取字符串中的子字符串:

String str = "Hello, World!";
String subStr = str.substring(7);  // subStr 内容为 "World!"
String subStr2 = str.substring(7, 12);  // subStr2 内容为 "World"

7. 字符串大小写转换

使用 toUpperCasetoLowerCase 方法

toUpperCase 方法将字符串转换为大写,toLowerCase 方法将字符串转换为小写:

String str = "Hello, World!";
String upperStr = str.toUpperCase();  // upperStr 内容为 "HELLO, WORLD!"
String lowerStr = str.toLowerCase();  // lowerStr 内容为 "hello, world!"

8. 去除字符串两端的空格

使用 trim 方法

trim 方法用于去除字符串两端的空格:

String str = "   Hello, World!   ";
String trimmedStr = str.trim();  // trimmedStr 内容为 "Hello, World!"

三、常用的 String 类方法

1. length

length 方法返回字符串的长度:

String str = "Hello, World!";
int length = str.length();  // length 为 13

2. charAt

charAt 方法返回字符串中指定位置的字符:

String str = "Hello, World!";
char ch = str.charAt(7);  // ch 为 'W'

3. contains

contains 方法检查字符串是否包含指定的子字符串:

String str = "Hello, World!";
boolean contains = str.contains("World");  // contains 为 true

4. startsWithendsWith

startsWith 方法检查字符串是否以指定的子字符串开头,endsWith 方法检查字符串是否以指定的子字符串结尾:

String str = "Hello, World!";
boolean starts = str.startsWith("Hello");  // starts 为 true
boolean ends = str.endsWith("World!");  // ends 为 true

5. isEmpty

isEmpty 方法检查字符串是否为空(长度为 0):

String str = "";
boolean isEmpty = str.isEmpty();  // isEmpty 为 true

6. intern

intern 方法将字符串放入字符串池中并返回字符串池中的字符串引用:

String str1 = new String("Hello");
String str2 = str1.intern();
String str3 = "Hello";
boolean isSame = (str2 == str3);  // isSame 为 true

7. format

format 方法使用指定的格式字符串和参数返回一个格式化的字符串:

String name = "Alice";
int age = 25;
String formattedStr = String.format("Name: %s, Age: %d", name, age);  // formattedStr 内容为 "Name: Alice, Age: 25"

8. valueOf

valueOf 方法将其他类型的数据转换为字符串:

int number = 123;
String str = String.valueOf(number);  // str 内容为 "123"

四、StringBuilder 和 StringBuffer

1. StringBuilder

StringBuilder 类用于创建可变的字符串,它不是线程安全的,但效率较高:

StringBuilder sb = new StringBuilder("Hello");
sb.append(", World!");
String result = sb.toString();  // result 内容为 "Hello, World!"

2. StringBuffer

StringBuffer 类也是用于创建可变的字符串,它是线程安全的,但效率较低:

StringBuffer sb = new StringBuffer("Hello");
sb.append(", World!");
String result = sb.toString();  // result 内容为 "Hello, World!"

Java 的字符串处理功能非常强大,通过 String 类和 StringBuilder、StringBuffer 类提供了丰富的方法来创建、操作和管理字符串。理解和掌握这些方法对于提高 Java 编程能力至关重要。

黑马程序员免费预约咨询

关键字:Java 字符串处理

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: