【罗兰のJava学习笔记】第四天,字符串 (下)

来源:互联网 发布:女神联盟攻略软件 编辑:程序博客网 时间:2024/06/02 07:36

一、代码点与代码单元


Java字符串由char序列组成。char数据类型是一个采用UTF-16编码表示Unicode代码点的代码单元。


length方法将返回采用UTF-16编码表示的给定字符串所需要的代码单元数量。


Eg.

String oda ="Nobunaga";
int o =oda.length();
如果想要得到实际长度,即代码点数量,可以调用:

int cpCount =oda.codePointCount(0,oda.length());


System.out.println(cpCount);  //输出结果 8

System.out.println(o); // 输出结果 8

Ps.个人理解,代码单元是字符串中的最小单位,代码点是组成代码单元的最小单位。


调用s.charAT(n)将返回位置n的带码单元,n介于0 ~ s.length()-1之间。

Eg.


char 一 = oda.charAt(0);
char 二 = oda.charAt(7);


System.out.println(一); // N

System.out.println(二); // a

Ps.相当于是取第几个位置的代码单元


二、字符串API


Java中的String类包含50多种方法,绝大多数都很有用。

以下为引用的部分API表

charcharAt(int index) 
           返回指定索引处的 char 值。

int codePointAt(int index) 
           返回指定索引处的字符(Unicode 代码点)。

intcompareTo(String anotherString) 
           按字典顺序比较两个字符串。

booleanendsWith(String suffix) 
          

boolean equalsIgnoreCase(String anotherString) 测试此字符串是否以指定的后缀结束。

boolean equals(Object anObject) 
           将此字符串与指定的对象比较。

          将此 String 与另一个 String 比较,不考虑大小写。

Ps.

API查询网址

http://docs.oracle.com/javase/7/docs/api/java/lang/String.html

http://www.apihome.cn/api/java/String.html


三、构建字符串

有时候需要由较短的字符串构建字符串,采用字符串连接方式达到此目的的效率比较低。每次连接字符串都会构建一个新的String对象,

耗时耗空间。使用StringBuilder类可以避免这个问题的发生。


首先构建一个空的字符串构建器:

StringBuilder WTF = new StringBuilder();


当每次需要添加一部分内容时,就调用append方法。

Eg.



StringBuilder WTF =new StringBuilder ();
String you = "stupid";
String are = "       boy";
WTF.append(you);
WTF.append(are);
System.out.println(WTF); // 输出结果 stupid boy

在需要构建字符串时就调用toString方法,将可以得到一个String对象,其中包含了构建器中的字符序列。


String completedString = builder.toString();




0 0