java关于字符串的常用API

 更新时间:2023年05月06日 08:34:53   作者:渡过晚枫  
字符串其实就是一串连续的字符,它是由许多单个字符连接而成的。如多个英文字母所组成的一个英文单词。字符串中可以包含任意字符,这些字符必须包含在一对双引号之内,今天就来介绍字符串常用的API

前言

所谓的字符串其实就是一串连续的字符,它是由许多单个字符连接而成的。如多个英文字母所组成的一个英文单词。字符串中可以包含任意字符,这些字符必须包含在一对双引号之内,例如“Dufeng”。

而与字符串相关的类都放在java.lang包中,故也不需要“导包”。

其主要分为两大类:

①:String类——创建后不能再修改和变动的字符串常量。

②:StringBuffer类——创建后可以再修改和变动的字符串变量

(此外还有用于分割字符串的StringTokenizer类在本节当中也会提到)

虽然StringBuffter类也用来代表字符串,但其在实际处理过程中,不会产生新的对象 ,所以在内存的使用量上是比String类更有优势的。

StringBuffer类的作用更偏向于对字符串进行插入、追加和删除等。

二者的属于不同的类型,所以不能直接进行强制类型转换。

一、String类

String是字符串常量。主要用于处理那些内容不会改变的字符串,String对象在进行字符串处理时,会产生新的对象而不是改变原有的值。且String对象可以通过操作符"+"进行连接。

在操作String类之前,我们需用用以下两种方式对其进行初始化。

①:使用字符串常量直接初始化String对象

String str="Hello Dufeng";

②:使用String的构造方法初始化String对象

String str = new String("Hello Dufeng");

String类的构造方法如下所示:

二、StringBuffter类

由于字符串是常量,因此一旦创建,其内容和长度是不可改变的。如果需要对一个字符串进行修改,则只能创建新的字符串。为了便于对字符串进行修改,在JDK中提供了一个StringBuffer类(也称字符串缓冲区)。

StringBuffter对象在每次修改时都会改变自身,其内容和长度都是可以改变的,这是与String对象最大的区别,而它的初始化也与后者不同,Java为其提供了特殊的语法,通常使用构造方法初始化。

三、StringTokenizer类

在一些算法题中,我们时常需要将字符串按字符输出或者输出字符串中的字符个数。

这时我们就可以使用StringTokenizer类了,利用分隔符进行操作,

java中默认的分隔符是空格制表符(\t)、换行符(\n)、回车符(\r)。

其有三种构造方法:

下面是一个案例,计算字符串中的单词个数。

关键的在于单词之间的分隔符,每当有分隔符出现,就代表有一个新的单词,故可以利用StringTokenizer对象分析字符串,并利用分隔符对其进行分割。

    public static void main(String[] args) {
        String str="Hello,World!";
        System.out.println("单词的个数为:"+Count(str));
    }
    static int Count(String str){
        StringTokenizer tk= new StringTokenizer(str,",!");
        int n=0;
        while(tk.hasMoreTokens()){
            tk.nextToken();
            n++;
        }
        return  n;
    }

到此这篇关于java关于字符串的常用API的文章就介绍到这了,更多相关java字符串API内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 解决@Transaction注解导致动态切换更改数据库失效问题

    解决@Transaction注解导致动态切换更改数据库失效问题

    这篇文章主要介绍了解决@Transaction注解导致动态切换更改数据库失效问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • 浅谈Spring事务传播行为实战

    浅谈Spring事务传播行为实战

    这篇文章主要介绍了浅谈Spring事务传播行为实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • java 正则,object中两个方法的使用(详解)

    java 正则,object中两个方法的使用(详解)

    下面小编就为大家带来一篇java 正则,object中两个方法的使用(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • springboot时间格式化的五种方法总结(解决后端传给前端的时间显示不一致)

    springboot时间格式化的五种方法总结(解决后端传给前端的时间显示不一致)

    这篇文章主要给大家介绍了关于springboot时间格式化的五种方法,文中介绍的方法解决了后端传给前端的时间显示不一致,文中通过图文以及代码介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • Java中Sentinel框架详解

    Java中Sentinel框架详解

    Sentinel是一个高可用、高扩展、高稳定性的开源流量控制和熔断降级框架,可以在分布式系统中实现实时的流量控制,防止系统因流量过大导致系统崩溃和服务降级,Sentinel面向所有的Java应用,本文就给大家详细介绍一下Java中Sentinel框架,需要的朋友可以参考下
    2023-06-06
  • 代码详解Java猴子选王问题(约瑟夫环)

    代码详解Java猴子选王问题(约瑟夫环)

    本篇文章通过实例给大家分析了java约瑟夫环这个经典内容,有兴趣的跟着小编一起学习下吧。
    2018-02-02
  • 详解JVM栈溢出和堆溢出

    详解JVM栈溢出和堆溢出

    今天带大家学习的是Java的相关知识,文章围绕着JVM栈溢出和堆溢出展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • java实现窗口刷新的示例代码

    java实现窗口刷新的示例代码

    本文主要介绍了java实现窗口刷新的示例代码,通过重写paintComponent()方法和调用repaint()方法,可以实现窗口的即时刷新,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • Java在Linux下 不能处理图形的解决办法 分享

    Java在Linux下 不能处理图形的解决办法 分享

    Java在Linux下 不能处理图形的解决办法 分享,需要的朋友可以参考一下
    2013-06-06
  • spring cloud学习教程之config修改配置详解

    spring cloud学习教程之config修改配置详解

    这篇文章主要给大家介绍了关于spring cloud学习教程之config修改配置的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-09-09

最新评论