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求字符串长度内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring(一):IOC如何推导和理解

    Spring(一):IOC如何推导和理解

    下面小编就为大家带来一篇详谈Spring对IOC的理解(推荐篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2021-07-07
  • idea 查看一个类的所有子类以及子类的子类并以层级关系显示

    idea 查看一个类的所有子类以及子类的子类并以层级关系显示

    这篇文章主要介绍了idea 查看一个类的所有子类以及子类的子类并以层级关系显示,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • Java继承概念详细解读

    Java继承概念详细解读

    这篇文章主要介绍了Java继承概念详细解读,涉及继承的概念,合成的语法等相关内容,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • idea插件篇之java内存分析工具(JProfiler)的使用

    idea插件篇之java内存分析工具(JProfiler)的使用

    这篇文章主要介绍了idea插件篇之java内存分析工具(JProfiler),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Java 不使用第三方变量交换两个变量值的四种方法详解

    Java 不使用第三方变量交换两个变量值的四种方法详解

    这篇文章主要介绍了四种不使用第三方变量交换两个变量值的方法。文中对于四种方法进行了详细的分析,需要的小伙伴们可以跟随小编一起学习一下
    2021-12-12
  • 解决Eclipse add external jars运行出现java.lang.NoClassDefFoundError的方法

    解决Eclipse add external jars运行出现java.lang.NoClassDefFoundErro

    本篇文章对Eclipse add external jars导致运行出现java.lang.NoClassDefFoundError的解决方法进行了详细的分析介绍。需要的朋友参考下
    2013-05-05
  • Java实体类之间的相互转换方式

    Java实体类之间的相互转换方式

    这篇文章主要介绍了Java实体类之间的相互转换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • 原来Java中有两个ArrayList

    原来Java中有两个ArrayList

    原来Java中有两个ArrayList,本文就带着大家一起探究Java中的ArrayList,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • Mybatis-plus在项目中的简单应用

    Mybatis-plus在项目中的简单应用

    Mybatis-plus是Spring框架中OOM的一大利器,其简单易用参考官网文档即可很快上手,本文主要介绍了逻辑删除,自动填充,分页插件等的简单使用,感兴趣的可以了解一下
    2021-07-07
  • java递归处理单位人员组织机构树方式

    java递归处理单位人员组织机构树方式

    这篇文章主要介绍了java递归处理单位人员组织机构树方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08

最新评论