📜  Java中的字符串类String 1(1)

📅  最后修改于: 2023-12-03 15:16:32.378000             🧑  作者: Mango

Java中的字符串类String

Java中的字符串(String)是不可变的,其值在创建后不能被修改。它们的实现也非常优化,主要是基于常量池的方式实现的。在Java中,字符串是通过String类来实现的。

创建字符串对象
使用字符串字面量

创建字符串对象最简单的方法是使用字符串字面量。如下所示:

String strA = "Hello World!";
String strB = "Java";
使用new实例化对象

使用new关键字实例化字符串对象也是一种方式,如下所示:

String strC = new String("Hello World!");

注意,这种方式会创建一个新的字符串对象,而不是使用字符串池中的现有字符串对象。因此,当需要创建动态字符串时,实例化对象是很有用的。

字符串拼接

Java中可以使用+运算符来拼接两个字符串。如下所示:

String strA = "Hello";
String strB = "World";
String strC = strA + " " + strB; // strC的值为"Hello World"

这里的+运算符实际上是StringBuilder对象的append()方法。因此,如果进行多次字符串拼接的话,使用StringBuilder效率更高。

字符串常用方法

String类提供了许多有用的方法来操作字符串,其中一些方法如下:

获取字符串长度

可以使用length()方法获取字符串的长度。

String str = "Hello World!";
int len = str.length(); // len的值为12
获取指定索引的字符

可以使用charAt()方法获取指定索引处的字符。

String str = "Hello World!";
char ch = str.charAt(6); // ch的值为'W'
按字典序比较字符串

可以使用compareTo()方法按字典序比较两个字符串,并返回一个整数表示这两个字符串之间的关系。

String str1 = "hello";
String str2 = "world";
int cmp = str1.compareTo(str2); // cmp的值为-15
判断字符串是否以指定字符串开头或结尾

可以使用startsWith()endsWith()方法判断一个字符串是否以另一个字符串开头或结尾。

String str = "Hello World!";
boolean startsWith = str.startsWith("Hello"); // startsWith的值为true
boolean endsWith = str.endsWith("ld!"); // endsWith的值为true
判断字符串是否包含指定子字符串

可以使用contains()方法判断一个字符串是否包含指定子字符串。

String str = "Hello World!";
boolean contains = str.contains("World"); // contains的值为true
将字符串转换为字符数组

可以使用toCharArray()方法将字符串转换为字符数组。

String str = "Hello World!";
char[] charArray = str.toCharArray();
将字符串转换为小写或大写形式

可以使用toLowerCase()toUpperCase()方法将字符串转换为小写或大写形式。

String str = "HELLO WORLD!";
String lower = str.toLowerCase(); // lower的值为"hello world!"
String upper = str.toUpperCase(); // upper的值为"HELLO WORLD!"
总结

String类是Java中非常常用的类之一。它提供了许多方便的方法来操作字符串。因为字符串是不可变的,所以它的操作是比较安全的。同时,也要注意到一些字符串操作的影响,例如在循环中进行字符串拼接会影响程序性能。