Java字符串String及常用方法

我在另一篇文章写了数据类型,其中有一个数据类型叫“char”,char类型只能表示单个字符,不能表示由多个字符连接而成的字符串。
Java中为了表示一串字符,可以使用称为String(字符串)的数据类型。

1.创建字符串

(1)可以使用构造方法来创建字符串
例如:

String s = new String("good");

(2)引用字符常量来创建字符串变量
例如:

String str1 str2;
str1="good";
str2="good";

此时str1与str2引用相同的字符串常量,也具有相同的实体。
示意图如下:
在这里插入图片描述

2.字符串常用方法

(1)连接字符串

  • 使用"+"运算符可实现连接多个字符串的功能
  • 或者使用concat()将其连接成新字符串

例如:

 	String s1 ="hello";
	String s2 ="String";
	String s = s1+" "+s2;
	String s3 = s1.concat(s2); 

输出结果:

hello String

(2)获取字符串长度

使用length()方法可获取字符串长度
语法如下:

	str.length();

其返回值为一个int

(3)字符串查找与获取

  • indexOf(String s):返回索引位置

此方法用于返回参数字符串s在指定字符串中首次出现的索引位置。

语法如下:

str.indexOf(substr)

例如:

String str = "good";
int size = str.indexOf("o");

运行结果:
1
  • charAt(int index):指定索引处的字符返回
    语法如下:
str.charAt(index);

例如:

String str = "good";
int size = str.charAt("1");

运行结果:
o

(4)字符串比较

String类有如下方法来用于两个字符串之间的比较。

方法描述
equals(s1)如果字符串等于字符串s1,则返回true
equalsIgnoreCase(s1)和equals()一样;不区分大小写
compareTo(s1)返回一个大于0、等于0、小于0的整数,表名该字符串是否大于、等于、或小于s1
compareIgnoreCase(s1)和compareTo()用一样;不区分大小写
startsWith(prefix)如果字符串以特定前缀开始,则返回true
endsWith(suffix)如果字符串以特定后缀开始,则返回true
contains(s1)如果s1是该字符串的子字符串,则返回true

注意:

  • 操作符 == 来比较两个字符串值能检测s1和s2是否指向同一个对象,不会告诉你内容是否相等。因此不能用操作符 == 来比较字符串之间的内容。

  • compareTo()是按字典顺序(Unicode码的顺序来进行比较)

(5)字符串大小写转换

-toLowerCase()将字符串转换为小写
-toUpperCase()将字符串转换为大写

(6)字符串分割

  • spilt(String sign)
    此方法可根据给定分割符将字符串进行拆分
    语法如下:
str,spilt(sign)
  • spilt(String sign,int limit)
    此方法可根据给定分割符将字符串进行拆分,并限定分割次数。
    语法如下
str.spilt(sign,limit)

(7)format()格式化字符串
此方法用于创建格式化的字符串。
语法如下:

str.format(String format,Object...agrs)

例如:

Date date = new Date();//创建对date对象
String s = String.format("%te",date);//通过format()方法对date进行格式化

版权声明:本文为Ctra_aaa原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。