当前位置: 首页 > article >正文

[java/初学者]java常用API(2)——字符串

 前言

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


http://www.kler.cn/a/13502.html

相关文章:

  • leetcode551. 学生出勤记录 I
  • 小程序弹框的一些总结
  • 总结827
  • Mysql中的三种log原理
  • 句子改写神器-文案自动改写的免费软件
  • SLAM论文速递【SLAM—— PLD-SLAM:一种基于点线特征的室内动态场景RGB-D SLAM新方法—4.23(1)
  • 如何提高代码能力:程序员的成长之路(下)
  • C/C++每日一练(20230423)
  • 不得不说的结构型模式-桥接模式
  • Redis源码分析(基于Redis7,对比Redis6)
  • 精读《利用 GPT 解读 PDF》
  • Doris(7):数据导入(Load)之Routine Load
  • 宜搭应用与第三方系统数据互通怎么做?
  • 在win10系统中安装anaconda
  • C++并发数据结构设计
  • JumpConsistentHash,一种快速、简单、内存占用最少的一致性hash算法
  • 如何优化语音交友app开发的搜索和匹配算法
  • mySQL1(4/17)
  • Unity之ShaderGraph入门
  • 手把手教你通过 Docker 部署前后端分离项目(亲测可用)