Java String.length() 方法

2025年3月24日 | 7分钟阅读

Java String 类的 length() 函数返回字符串中的字符(或 Unicode 代码单元)总数。此方法可以轻松快速地确定字符串的长度,这对于各种字符串操作任务都很有帮助。需要注意的是,此方法提供的长度可能与人类感知的长度不符,尤其是在处理包含多字节编码语言(如 UTF-8)字符的字符串时。总而言之,Java 的 length() 方法是处理字符串的基本工具,它允许程序员精确地确定其应用程序中文本数据的大小。

签名

字符串 length() 方法的签名如下所示

指定者

CharSequence 接口

返回值

字符的长度。换句话说,字符串中存在的字符总数。

此计数包含所有字符,无论其编码或类型如何。重要的是要认识到长度与用于在内存中存储字符串的字节数没有直接关系。相反,它表示 Unicode 字符的总数,这对于多字节编码(如 UTF-8)可能有所不同,因为某些字符可能需要由多个字节表示。

内部实现

String 类内部使用 char[] 数组来存储字符。数组的 length 变量用于查找数组中存在的元素总数。由于 Java String 类在内部使用此 char[] 数组;因此,length 变量不能暴露给外部世界。因此,Java 开发人员创建了 length() 方法,该方法暴露了 length 变量的值。也可以将 length() 方法视为 getter() 方法,它向用户提供类字段的值。内部实现清楚地表明 length() 方法返回 length 变量的值。

Java String.length() 方法示例

示例

编译并运行

输出

string length is: 10
string length is: 6

说明

提供的 Java 代码展示了 String 类的 length() 方法的使用。在 LengthExample 类中,两个字符串变量 s1 和 s2 分别初始化为值 "TpointTech" 和 "python"。通过在两个字符串上调用 length() 方法,代码检索每个字符串中的字符数。

使用 System.out.println(),结果随后显示在控制台上。对于包含 "TpointTech" 的 s1,输出显示 "string length is: 10",表示存在 10 个字符。类似地,对于包含 "python" 的 s2,输出反映 "string length is: 6",表示字符串的长度为 6 个字符。此代码展示了 length() 方法在确定 Java 字符串长度方面的简单性和有效性,从而促进了各种字符串操作任务。

Java String.length() 方法示例 2

由于 length() 方法给出字符串中存在的字符总数;因此,也可以检查给定字符串是否为空。

此方法提供了一种简单有效的方法来执行诸如验证用户输入、处理算法中的边缘情况或根据字符串内容初始化变量等任务。它的多功能性使其成为 Java 编程中用于字符串操作和数据验证的基本工具。

示例

编译并运行

输出

String is not empty and length is: 10
String is empty now: 0

说明

所提供的 Java 代码演示了 length() 方法在确定字符串是否为空方面的实际应用。LengthExample2 类的主方法将字符串变量 str 初始化为值 "TpointTech"。代码使用条件语句确定 str 的长度是否大于 0——表示它不为空。

发生这种情况时,它会打印一条消息以及字符串的长度,表明该字符串不为空。str 的值随后更改为空字符串 ""。然后,代码通过检查 str 的长度是否等于 0 来确认 str 为空。在此条件满足后,它会打印一条消息,说明该字符串为空。

Java String.length() 方法示例 3

length() 方法也用于反转字符串。

示例

编译并运行

输出

Reverse of the string: 'Welcome To TpointTech' is
tniopTavaJ oT emocleW

说明

LengthExample3.java 中的 Java 代码演示了如何使用 String 类的 length() 函数反转字符串。“Welcome To TpointTech”是主方法中初始化的字符串 str 的初始值。为了更容易地遍历每个字符,str.length() 用于计算字符串的大小。一个 for 循环通过从 0 迭代到 size - 1 来访问字符串中的每个字符。由于循环使用 str.charAt(str.length() - i - 1) 反向访问字符并输出每个字符,因此字符串被反转。此示例演示了 length() 函数如何与各种其他字符串操作技术结合使用以实现特定目标,例如在 Java 中高效地反转字符串。

Java String.length() 方法示例 4

length() 方法还可以用于查找字符串中存在的空格。观察以下示例。

示例

编译并运行

输出

In the string: ' Welcome To TpointTech '
Total number of whitespaces present are: 4

说明

LengthExample4.java 中的 Java 代码演示了 length() 方法如何与字符串操作技术结合使用,以计算字符串中的空格字符数并分析其构成。

在主程序中,一个字符串 str 初始化为包含前导和尾随空格。str.length() 用于计算整个字符串长度,包括空格字符。在使用 str.replace(" ", "") 消除空格字符后,重新计算不带空格的字符串长度。

代码通过从原始大小中减去不带空格的大小来计算空格字符数。此示例演示了 length() 方法如何与字符串操作技术结合使用,以一种实用方式从 Java 字符串中提取特定信息。

结论

总而言之,Java String 类的 length() 方法返回字符串中的字符(或 Unicode 代码单元)总数,是字符串操作任务的基本工具。在给定的示例中,我们已经看到了此技术如何应用于许多任务,例如计算字符串的长度、查找空字符串、反转字符串以及检查字符串的构成。

Java 编程需要 length() 方法来处理文本数据,因为它虽然简单,但高效且通用。开发人员可以通过理解其行为并将其与其他字符串操作技术结合使用来轻松完成各种任务,从而提高其 Java 应用程序的功能和健壮性。


Java 字符串长度 MCQ

1. Java String 类中的 length() 方法返回什么?

  1. 字符串中的字符数。
  2. 用于表示字符串的字节数。
  3. 字符串在内存中的大小。
  4. 字符串中最后一个字符的索引。
 

答案:A

解释: Java String 类中的 length() 方法返回字符串中的字符数。


2. 空字符串(“ ”)的 length() 在 Java 中会返回什么?

  1. 0
  2. 1
  3. -1
  4. NullPointerException
 

答案:A

解释: length() 方法对空字符串返回 0。


3. 以下关于 Java 中 length() 方法的哪个说法是正确的?

  1. 它返回字符串的字节大小。
  2. 它返回字符串中最后一个字符的索引。
  3. 它可能会抛出 NullPointerException。
  4. 它总是返回一个正值。
 

答案:D

解释: length() 方法总是返回一个非负整数,表示字符串中的字符数。


4. Java String 类中 length() 方法的时间复杂度是多少?

  1. O(n)
  2. O(log n)
  3. O(1)
  4. 它取决于字符串的大小。
 

答案:C

解释: Java String 类中的 length() 方法具有恒定时间复杂度,因为它只是返回一个存储的表示字符串长度的值。


5. 考虑以下代码

len 的值会是多少?

  1. 10
  2. 11
  3. 12
  4. 它取决于字符串的编码。
 

答案:B

解释: 字符串“Hello World”有 11 个字符,包括“Hello”和“World”之间的空格。因此,len 的值将是 11。