Java String length()方法
时间:2020-02-23 14:34:32 来源:igfitidea点击:
Java String length()函数返回此对象表示的字符序列的长度。
Java字符串长度
有时我们必须在Java程序中获取字符串的长度,下面的代码片段向您展示了如何做到这一点。
String str = "theitroad"; System.out.println("String length is "+str.length());
上面的代码片段将产生如下输出:
String length is 10
假设我们有一个函数可以打印字符串长度,如下所示。
public static void printStringLength(String s){ System.out.println("input string length is "+s.length()); }
您能猜出上述功能有什么问题吗?好吧,如果有人通过将字符串值传递为" null"来调用此函数,则可能导致NullPointerException。
下面是避免NullPointerException的更好的实现。
public static void printStringLength(String s){ if(s == null) return; System.out.println("input string length is "+s.length()); }
请注意,如果输入为null,我只是忽略并返回该调用,您可以记录它或者引发Exception或者根据您的要求执行任何其他操作。
Unicode表示形式的Java字符串长度
如果看一下Stringlength()
方法的javadoc,它表示长度等于字符串中Unicode代码单元的数量。
这是什么意思?让我们看一个小的代码片段,以轻松理解该语句的含义。
String str1 = "\u00A9"; //copyright character System.out.println("String length is "+str1.length());
当您在上面的程序中运行时,字符串长度将被打印为1。
在Java中,我们可以使用Unicode字符定义一个String,而上面的unicode用于版权字符。
因此,String的长度为1,如果您尝试打印它,它将显示为©
。
这是最终的Java字符串长度程序。
package com.theitroad.string; public class JavaStringLength { public static void main(String[] args) { String str = "theitroad"; System.out.println("String length is " + str.length()); String str1 = "\u00A9"; System.out.println("Unicode String length is " + str1.length()); System.out.println("Unicode string value = "+str1); printStringLength(null); } public static void printStringLength(String s) { if (s == null) return; //do nothing System.out.println("input string length is " + s.length()); } }
Java String长度,不使用length()函数
这是一个非常有趣的面试问题,有很多替代和不推荐的方法来获取字符串的长度。
让我们看一下这些内容,它们很适合用于论证,但不要在生产环境中使用。
转换为字符数组并查找长度
public static int getStringLength(String s) { int count = 0; char [] ca = s.toCharArray(); for (char c : ca) { count++; } return count; }
字符数组的调用长度
public static int getStringLength(String s) { return s.toCharArray().length; }
巧妙地使用String lastIndexOf()函数
public static int getStringLength(String s) { return s.lastIndexOf(""); }