java关于字符串的常用API
作者:渡过晚枫 发布时间:2022-09-13 22:19:03
前言
所谓的字符串其实就是一串连续的字符,它是由许多单个字符连接而成的。如多个英文字母所组成的一个英文单词。字符串中可以包含任意字符,这些字符必须包含在一对双引号之内,例如“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;
}
来源:https://blog.csdn.net/DuFengYa/article/details/130250473
猜你喜欢
- 五子棋AI算法也算是一个典型的游戏AI算法,一些棋类的AI算法都可以参考实现,下面是Java实现代码棋盘抽象接口import java.ut
- JWT可以理解为一个加密的字符串,里面由三部分组成:头部(Header)、负载(Payload)、签名(signature)由base64加
- Pom依赖<parent> <groupId>org.springframework.bo
- 数据校验在web应用里是非常重要的功能,尤其是在表单输入中。在这里采用Hibernate-Vapdator进行校验,该方法实现了JSR-30
- 继承JpaRepository,找不到findOne()方法问题:以前一直使用findOne(ID id);,这次用SpringBoot构建
- Java 静态绑定与动态绑定 最
- 在业务开发过程中我们会遇到形形色色的注解,但是框架自有的注解并不是总能满足复杂的业务需求,我们可以自定义注解来满足我们的需求。根据注解使用的
- 代码思路:想要循环遍历文件夹下所有子文件夹,就要用到递归。首先判断路径是否存在:是:获取文件判断是否文件夹:是:调用自身,继续获取子文件夹下
- 利用Jconsole工具查看程序的资源占用请求。安装jdk时bin目录有jconsole.exe工具,或者通过 Win + R,输入jcon
- Web Services 可以将应用程序转换为网络应用程序。通过使用 Web Services,您的应用程序可以向全世界发布信息,或提供某项
- 本文实例为大家分享了Java实现通讯录管理系统的具体代码,供大家参考,具体内容如下一、前言我们学了这么久的知识了,光学知识不会用是一件很悲伤
- 一、直接插入排序基本思想:将一个记录插入到已排序的有序表中,使插入后的表仍然有序对初始关键字{49 38 65 97 76 13 27 49
- 前言最近被问到了这个问题,第一次回答的也是很不好,在此参考网上答案进行整理记录。供大家学习参考。Synchronized修饰非静态方法Syn
- 本文实例为大家分享了java实现简单猜数字的具体代码,供大家参考,具体内容如下代码不多说,图片自加,实现功能有数字比大小,菜单开始,帮助,退
- 在实际开发中,我们经常会需要在页面跳转的时候携带路由参数,典型的例子就是从列表到详情页的时候,需要携带详情的 id,以便详情页获取对应的数据
- 通常情况下我们想实现文字的走马灯效果需要在xml文件中这样设置<TextView android:layout_widt
- 环境配置Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclis
- 前言我们一说到spring,可能第一个想到的是 IOC(控制反转) 和 AOP(面向切面编程)。没错,它们是spring的基石,得益于它们的
- 文件上传大小设置#文件大小 MB必须大写# maxFileSize 是单个文件大小# maxRequestSize是
- 正确使用并行流,避免共享可变状态错用并行流而产生错误的首要原因,就是使用的算法改变了某些共享状态。下面是另一种实现对前n个自然数求和的方法,