14.String连载

在我们日常的开发中,String 字符串这种数据类型会经常使用,所以我拿出一些篇幅主要来说一说关于的常用规则。

之前已经介绍过 Java 中的几种数据类型,那么是一种字符串数据类型, 类型的变量保存的是字符串类型的数据,比如一句话,一段文字。

1. 定义字符串类型变量:

Stringstr="abc";

Stringstr1="";

Stringstr2=newString("你好");

指定变量类型,字符串内容要用英文双引号包裹,如果没有内容则为空字符串。也可以使用创建对象的方式来定义字符串类型变量:

是一种引用类型变量,不同于基本类型变量。注意是一个类,定义一个字符串的本质是创造一个类的一个对象出来,把字符串存放在对象中。因为该类型是一个类,当然可以使用调用String构造方法,来定义一个字符串。

2. 获取字符串长度

Stringstr="hello, world";

使用对象的方法获取字符串长度,注意:一个空格也算是一个单位长度。

output:

12

3. 格式化字符串

实际情况中,你会经常需要去按照你想要的格式来处理一些字符串,比如:想把 、、三个变量格式化成一个句子:

Stringname="Arvin";

intage=28;

Stringjob="工程师";

// 我的名字叫 Arvin, 我今年 28 岁,我的职业是工程师

Stringtext="我的名字叫 "+name+",我今年 "+age+" 岁"+",我的职业是"+job;

StringfromatString="我的名字叫 %s, 我今年 %d 岁,我的职业是%s";

output:

我的名字叫 Arvin,我今年 28 岁,我的职业是工程师

我的名字叫 Arvin, 我今年 28 岁,我的职业是工程师

1、第一种做法是使用 连接各个变量,会把各个变量连接在一起,这时非类型变量会自动转换为字符串类型。

2、使用类的 方法格式化字符,第一个参数是你要定义的格式化模板,后面的参数是你依次要传递的字符串变量

格式化模板中:

是一个字符串占位符,会把String字符串类型的数据替换到该位置。该实例中,的值在格式化后会被替换到 的位置。

是一个数值占位符,格式化后,的值会被替换到该位置。

4. 字符串的比较

字符串类型变量进行比较时不能直接使用 ,要使用变量的方法。

Stringstr="abc";

Stringstr1=newString("abc");

Stringstr2="abcd";

if("abc".equals(str2)) {

}else{

}

输出:

false

true

字符串 abc 和 str2 的内容不相等

是直接比较 str 和 str1 变量的值,而他们的存放的值不是我们的真实内容,是真实内容对应的引用地址。

是比较 str 和 str1 中的真实内容。

5. 字符串查找

如果在一个字符串中需要去查找一些特定的内容,这时候我们可以使用以下查找方法

Stringstr="hello world, abc";

booleanb=str.contains("hello111");//str字符串是否包含"hello111"

if(str.indexOf("abc")>-1) {

}

输出:

false

-1

true

true

: 是否包含的意思,包含则返回,否则返回.

:查找内容在被查找字符串中的位置,返回数值,若不包含,则返回 ,否则返回具体位置。

:是否以查找内容开始字符串,是则返回,否则返回

:字符串是否以查找内容结尾,是则返回,否则返回

6. 替换字符串

Stringstr="abcd, hello, yeh";

Stringstrnew=str.replace("e","fff");

输出:

abcd, hfffllo, yfffh

7. 截取字符串

Stringstr="abc, hello, tom";

Stringstr1=str.substring(,3);

output:

abc

hello, tom

8. 去除字符串中的空格

有时候,你不想让字符串中存在空格

Stringstr=" aba c ";

output:

aba c

aba c

abac

,方法可以去除字符串两端的空格,中间的空格去除不了

,可以把字符串中所有的空格替换掉。

9. 分割字符串

如果你想把一个字符串,按照某种分割方式分割成一个字符串数组,你可以这样做:

Stringstr="red,green,yellow,blue";

String[]colors=str.split(",");

for(Stringcolor:colors) {

}

output

red

green

yellow

blue

,参数是一个分割点,实例中把 作为一个分割点。返回一个分割后的一组字符串,也即是字符串数组。

10. 转换

实际上,你会经常遇到这种情况,想把一个数值转换为字符串,或者把字符串转为为其他基本类型。

1、基本类型转为字符串

inti=100;

doubled=292.02;

booleanb=true;

Stringstr=i+"";

Booleanb1=b;

Stringbs=b1.toString();

output

100

true

基本类型变量可以直接使用 ,转换为字符串。也可以使用其对应包装类实例的方法转换为字符串。

2、字符串转为基本类型

Stringis="100";

inti=Integer.parseInt(is);

intsum=i+200;

output

300

字符类型转为基本类型,可以使用基本类型对应的包装类实例的 方法,该实例中 把字符串"100"转为类型的100,可以进行运算。

11. StringBuffer

你已经知道,可以使用 连接多个变量,并转换为一个字符串类型的值。但是这种做法效率并不是很高,可以在低频次、少量连接操作使用它。如果要高频次、大量的连接字符串操作,可以使用

Stringname="tom";

intage=28;

Stringjob="自由职业";

// tom, 28, 自由职业

StringBufferbuffer=newStringBuffer(name);

buffer.append(", ")

.append(age)

.append(", ")

.append(job);

output:

tom, 28, 自由职业

方法用于连接字符串。可以高频次使用,效率较高。

我只是展示了关于字符串常用操作,当然它有很多个操作,如果用到其他方法,建议大家去查找 Java API.

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180107G03XMZ00?refer=cp_1026

同媒体快讯

扫码关注云+社区