Java求字符串长度的方法举例

 更新时间:2023年10月23日 15:40:55   作者:程序员大腾  
这篇文章主要给大家介绍了关于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求字符串长度内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot整合Spring Boot Admin实现服务监控的方法

    SpringBoot整合Spring Boot Admin实现服务监控的方法

    这篇文章主要介绍了SpringBoot整合Spring Boot Admin实现服务监控,内容包括Server端服务开发,Client端服务开发其中Spring Boot Admin还可以对其监控的服务提供告警功能,如服务宕机时,可以及时以邮件方式通知运维人员,感兴趣的朋友跟随小编一起看看吧
    2022-03-03
  • Java精准获取毫秒级时间戳的多种方法

    Java精准获取毫秒级时间戳的多种方法

    本文详细介绍了Java中获取和处理时间戳的多种方法,包括System.currentTimeMillis()、Date类、Calendar类、Java 8的Instant类、LocalDateTime和ZoneOffset等,文章还讨论了不同方法的性能对比、适用场景以及常见误区与最佳实践,最后展望了精准时间处理的未来演进方向
    2026-02-02
  • java中的异步加载new Thread()方式

    java中的异步加载new Thread()方式

    这篇文章主要介绍了java中的异步加载new Thread()方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Kotlin语法学习-变量定义、函数扩展、Parcelable序列化等简单总结

    Kotlin语法学习-变量定义、函数扩展、Parcelable序列化等简单总结

    这篇文章主要介绍了Kotlin语法学习-变量定义、函数扩展、Parcelable序列化等简单总结的相关资料,需要的朋友可以参考下
    2017-05-05
  • mybatisplus如何解决分页最多500条数据

    mybatisplus如何解决分页最多500条数据

    这篇文章主要介绍了mybatisplus如何解决分页最多500条数据的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • 详解如何在Spring Boot项目使用参数校验

    详解如何在Spring Boot项目使用参数校验

    本篇文章主要介绍了如何在Spring Boot项目使用参数校验,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • Springboot整合Active消息队列

    Springboot整合Active消息队列

    这篇文章主要介绍了Springboot整合Active消息队列的步骤,帮助大家更好的理解和使用springboot框架,感兴趣的朋友可以了解下
    2020-12-12
  • 解决Eclipse打开.java文件异常,提示用系统工具打开的问题

    解决Eclipse打开.java文件异常,提示用系统工具打开的问题

    这篇文章主要介绍了解决Eclipse打开.java文件异常,提示用系统工具打开的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • SpringBoot 整合 ShardingSphere4.1.1实现分库分表功能

    SpringBoot 整合 ShardingSphere4.1.1实现分库分表功能

    ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(计划中)这3款相互独立的产品组成,本文给大家介绍SpringBoot 整合 ShardingSphere4.1.1实现分库分表,感兴趣的朋友一起看看吧
    2023-12-12
  • Struts中使用validate()输入校验方法详解

    Struts中使用validate()输入校验方法详解

    这篇文章主要介绍了Struts中使用validate()输入校验方法,本文介绍的非常详细,具有参考借鉴价值,感兴趣的朋友一起看看吧
    2016-09-09

最新评论