如何在Java中查找字符串的长度

345 阅读2分钟

length()函数是用来获取一个字符串的长度的。 通常,需要找出一个字符串的长度,对于这种情况,Java提供了内置的 Java.lang.String.length() 方法。字符串的长度本质上是它所包含的16位Unicode字符的数量。

Java String length()

Java String length()

字符串length() 是一个内置函数,用于获取Java字符串的长度。length()方法返回任何字符串的长度,它等于字符串中16位Unicode字符的数量。在空字符串的情况下,它包含零个字符。但是,如果是空字符串,该方法将抛出 NullPointerException

语法

参见下面的String length()的语法:

public int length()

返回值

字符串中的几个字符。

例子

下面的例子展示了 length() 方法的使用 :

public class StrLen {
	public static void main(String[] args) {
		String str1 = "Millie Bobby Brown";

		System.out.println(str1.length());
	}
}

请看输出结果:

➜  java javac StrLen.java
➜  java java StrLen
18
➜  java

NullPointerException

让我们找出字符串的空值的长度:

public class StrLen {
	public static void main(String[] args) {
		String str1 = null;

		System.out.println(str1.length());
	}
}

请看输出结果:

➜  java javac StrLen.java
➜  java java StrLen
Exception in thread "main" java.lang.NullPointerException
	at StrLen.main(StrLen.java:5)
➜  java
当对一个空字符串 调用 length() 方法 时 , 直接抛出一个 NullPointerException

演示对空字符串使用length()方法的情况

请看下面这个查找空字符串长度的程序JavaJava。

public class StrLen {
	public static void main(String[] args) {
		String str1 = "";

		System.out.println(str1.length());
	}
}

请看输出结果:

➜  java javac StrLen.java
➜  java java StrLen
0
➜  java

演示在循环中迭代时length()方法的使用

请看下面的代码:

public class StrLen {
	public static void main(String[] args) {
		String str1 = "El Camino";

		for (int i = 0; i < str1.length(); i++) {
			System.out.println(str1.charAt(i));
		}
	}
}

请看输出结果:

➜  java javac StrLen.java
➜  java java StrLen
E
l

C
a
m
i
n
o
➜  java

在上面的例子中,length()方法被用来确定循环应该运行多少次来逐次打印String的所有字符。这里,charAt(int i)方法返回索引i处的字符。

这就是length()方法如何在各种编程结构中使用,以获得理想的结果。

字符串中length()函数的复杂性是什么?

它是0(1),因为长度已经被String实例知道了。

从JDK 1.6开始,它是可见的。

public int length() {
    return count;
}

理解为什么他们可以缓存计数值并一直使用相同的计数值是很有必要的。原因在于设计String时的一个伟大决定,即它的Immutability。

本教程到此结束。

推荐文章

Java String toUpperCase()

Java 字符串getchars()方法

Java中的哈希算法