Java求字符串长度的方法举例
作者:程序员大腾
这篇文章主要给大家介绍了关于Java求字符串长度的相关资料,Java中的字符串是一种常见的数据类型,用于表示文本数据,文中给出了详细的代码实例,需要的朋友可以参考下
方法介绍
在 Java 中,要获取字符串的长度,可以使用 String 类的 length() 方法
其语法格式:字符串名.length();
返回的值是int类型的长度值。
举例:
String str1 = "我是一个字符串"; System.out.println("我是一个字符串".length());//7 System.out.println(str1.length());//7 String str2 = "我是另一个字符串"; int str2Length1 = str2.length(); int str2Length2 = "我是另一个字符串".length(); System.out.println(str2Length1);//8 System.out.println(str2Length2);//8
使用场景举例
1.例如现在接收到了一串字符串,可能接收到的是正常的字符串,也有可能是空字符串,这时候就需要判断下字符串是否存在值,就可以使用字符串长度>0进行操作。
因为字符串长度大于0就代表了字符串存在值嘛
if (str.length()>0){ //进行操作字符串 }
假设不进行判断直接使用的话,则有可能会出现报错。
2.例如现在要截取字符串,截取第三位到倒数第二位,则可以这样截取
str.substring(2,str.length()-2)
String str1 = "台词:下蛋公鸡,公鸡中的战斗机,欧耶"; String substring = str1.substring(2, str1.length() - 3); System.out.println(substring);//:下蛋公鸡,公鸡中的战斗机
但是在编写的时候也要预测一下,不然截取的参数中第一个参数比第二个参数大会引发异常
java.lang.StringIndexOutOfBoundsException
附:java中判断字符串实际长度(中文2个字符,英文1个字符)的方法,包含中英文符号
介绍
数据库中很多字段都会限制长度,为了方便用户使用,在前端界面给出限制长度的提示,看网上很多写的获取字符串长度都没有包含中英文符号的,导致获取到的长度不准确。
Java中判断字符串的编码有两种思路:
1、根据byte的长度判断,英文的字母和标点符号都是一个byte,且值在0-255之间
2、根据中文的Unicode取值范围判断,这个就是把所有的范围都包含,才能判断正确,参考unicode中文范围
下面主要用第一种方式实现
测试代码
/** * 测试字符串字符长度 */ public static void main(String[] args) { String str = "(集2)上药华,西(四川),"; System.out.println("字符串 \"" + str + "\", 字符串长度为:" + str.length() + " ,实际长度为:" + getStringLengthByByte(str)); } /** * 返回字符串的实际长度 */ public static int getStringLengthByByte(String value) { if (StringUtils.isEmpty(value)) { return 0; } int valueLength = 0; for (int i=0; i < value.length(); i++) { char temp = value.charAt(i); if ((temp + "").getBytes().length == 1) { valueLength += 1; } else { valueLength += 2; } } return valueLength; }
输出结果
字符串 "(集2)上药华,西(四川),", 字符串长度为:14 ,实际长度为:24
总结
到此这篇关于Java求字符串长度的文章就介绍到这了,更多相关Java求字符串长度内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!