Java基础教程之String字符串及常用方法

您所在的位置:网站首页 字符串切割java Java基础教程之String字符串及常用方法

Java基础教程之String字符串及常用方法

2023-04-26 03:53| 来源: 网络整理| 查看: 265

之前给大家讲过java里的8种基本数据类型,我们知道,其中有一种比较特殊的char字符类型,可以在单引号中存储单个的字符元素,比如'A'、'9'、'国' 等。而我们今天要学习的String类,则是用双引号"..."来表达字符串的。作为初学者,我们一定要注意字符与字符串的区别:

● 字符只能表示单个字符元素,必须用单引号''把单个的字符元素括起来,如'A'、'9'、'国' 等;

● 字符串可以表示单个或多个字符元素,必须用双引号把单个或多个字符元素括起来,如"A"、"Hi"、"中国"等;

● 字符是基本类型,其本质是一种数值;字符串是引用类型,其本质是一个java类。

3. 定义方式

String字符串的定义方式,常用的有如下两种:

1. 通过构造方法创建字符串对象;

2. 直接赋值。

我们在开发时,其实很少使用第一种方式,因为太过啰嗦,一般都是通过直接赋值的方式进行定义。

3.1 构造方法定义

Java为String类提供了11个构造方法创建String对象,这些方法提供了不同的参数来初始化字符串。当字符串变量被创建处理后,必须经过初始化才能使用。下面是通过构造方法定义String对象的几种方式,大家可以参考:

3.2 直接赋值定义

下面是通过直接赋值的方式来定义String对象的方式,大家可以参考:

我们要注意String s=null与String s=""的区别:

● String s=null表示String对象为空,即字符串对象的引用指向了null,还没有指向任何的内存空间;

● String s=""是声明了一个字符串类型的引用,其值为"",表示是一个长度为零、内容为空的空字符串对象,但该对象不为空!这个s对象的引用指向的是空字符串的内存空间。

以上内容,是对字符串定义和使用的常规操作,但实际上String字符串还有其他很多有用的方法,接下来就专门给大家介绍一下这些实用方法。

二. 字符串实用方法

1. 字符串的比较方法

在Java中,如果我们想比较两个字符串,其实主要是比较两个字符串的内容是否相同,所以应该使用equals()方法,而不要使用==进行比较。

大家注意,在上面的案例中,虽然使用==和equals()比较的结果都是true,但实际上这只是”凑巧“罢了。在本案例中,之所以使用”==“进行比较的结果也是true,这是因为Java编译器在编译期,自动把所有相同内容的字符串当作一个对象放入到了字符串常量池。所以s1和s2都指向了同一个引用地址,结果自然就是相同的。但如果我们把上述案例换一种写法,再利用”==“进行比较就不是这样的结果。

从上面的案例中,我们可以得出一个结论,要想比较两个字符串,应该使用equals()方法,而不是"=="方法!

2. 判断字符串是否为空

另外在前面的代码案例中,我们还给大家介绍了两种定义String字符串对象的方式,并在第2种方式中给大家提到了null与""两种为空的情况。而我们在实际开发中,判断一个字符串对象是null与"",其实是一种非常常见的操作,那么我们该怎么判断String对象是否是null或""呢?

在实际开发时,我们一般是采用第5种判断方式,这种判断方式更为严谨,能够把两种”为空“的情况都考虑到。当然,我们也可以直接使用字符串对象提供的isEmpty()或isBlank()方法,进行判空。另外我们要特别注意,防止出现空指针异常,并且也要考虑采用哪种方式判断为空的情况效率更高。

3. 判断相关的方法

String字符串中提供了几个与字符串判断相关的方法,可以对一个字符串进行各种判断,这几个方法如下:

● equals():判断两个字符串的内容是否相同;

● equalsIgnoreCase():判断两个字符串是否相等,忽略大小写;

● isEmpty():判断字符串是否为空串"",主要是判断字符串长度是否为0;

● isBlank():判断字符串是否为空串"",主要是判断字符串中是否包含空白字符;

● startsWith():判断字符串是否以指定的字符串开头;

● endsWith():判断字符串是否以指定的字符串结尾;

● contains():判断字符串中是否包含指定的字符串,参数是CharSequence类型,而不是String。

4. 获取相关的方法

String字符串中提供了几个与字符串获取相关的方法,这几个方法如下:

● charAt():获取指定下标位置上对应的字符,并返回char类型;

● indexOf():获取指定字符串在原字符串中的下标索引位置,如果不包含该字符串则返回-1;

● lastIndexOf():该方法与indexOf()类似,但该方法是从后往前找,找到指定字符最后出现的位置;

● length():该方法用于返回字符串对象中包含的字符数量,即可以获取字符串的长度。

5. 拼接、替换、截取、分割、去空格等方法

String字符串中提供了拼接、替换、截取、分割等方法,这几个方法如下:

● concat():将某个字符串连接到该字符串的结尾,并返回拼接后的字符串,相当于s1 = s1 + "world";

● join():用指定的字符串连接字符串数组;

● replace():将字符串中指定的字符串替换成指定的字符串;

● replaceAll():利用正则表达式,将字符串中指定的字符串替换成指定的字符串;

● substring(start,end):字符串截取,从指定的下标索引开始和结束,范围是左闭右开,注意索引是从0开始;

● substring(index):字符串截取,从指定的索引下标开始一直截取到字符串的最后;

● split():字符串切割,按照指定的字符串对原字符串进行切割;

● trim():不改变原有字符串内容,只是去除字符串首尾的空白字符,包括空格、\t、\r、\n。

6. 大小写转换的方法

String字符串中提供了将字符串转为小写、大写等方法,这几个方法如下:

● toUpperCase():将字符串中的字母都变成大写;

● toLowerCase():将字符串中的字母都变成小写。

7. 字符串转数组的方法

String字符串中提供了将字符串转为字节、字符数组的方法,这几个方法如下:

● getBytes():将字符串转变成字节数组;

● toCharArray():将字符串变成字符数组。

8. 其他类型转字符串的方式

我们可以利用如下几种方式将其他类型转为String字符串:

● 利用"+"号拼接:通过拼接得到一个新的字符串对象;

● valueOf()方法:将其他的类型的数据转换成String类型;

● 构造方法:也可以使用字符串对应的构造方法,将字节、字符数组类型转为字符串对象,效率较低。

9. 格式化字符串的方法

除了以上这些方法之外,String还提供了几个可以用于格式化字符串的方法,如下:

● format():可以将字符串进行格式化操作。

在上面的案例中,涉及到了几个占位符,主要是配合参数进行格式化。当使用占位符时,就需要参数类型要和占位符要求的一致。常用的占位符含义如下:

● %s:表示字符串;

● %d:表示整数;

● %x:表示十六进制整数;

● %f:表示浮点数。

另外占位符还可以带格式,例如%.2f是表示显示两位小数。如果你不确定到底该用哪个占位符,可以选择使用%s,因为%s可以显示任何数据类型。

以上这些方法,就是String字符串中的一些常用方法,当然并不是全部的方法。实际上,String中还有其他的一些方法,但由于篇幅限制,以后壹哥会在其他的案例中再给大家捎带着进行普及,这里就不再单独罗列了。

三. 结语

至此,我们就把String字符串对象的定义方式,以及String类中常用的API方法给大家介绍完了,我们要掌握本文的重点内容,比如:

● 掌握String对象的定义方式;

● 掌握字符串对象的比较方式;

● 掌握字符串判空的方式及方法;

● 了解java中的常用占位符;

● 掌握其他重要方法。返回搜狐,查看更多



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3