📅  最后修改于: 2023-12-03 15:16:32.378000             🧑  作者: Mango
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中非常常用的类之一。它提供了许多方便的方法来操作字符串。因为字符串是不可变的,所以它的操作是比较安全的。同时,也要注意到一些字符串操作的影响,例如在循环中进行字符串拼接会影响程序性能。