当前位置:文档之家› JAVA程序设计_ 常用实用类_81 String类_

JAVA程序设计_ 常用实用类_81 String类_

常用实用类1——STRING类

模块导航

←字符串String类简介

←字符串常量

←String字符串对象

←字符串并置运算

←String类的常用方法

←String字符串与基本数据的相互转化

String类

←是Java API提供的一个最为常用的基本字符串处理类,该类提供了非常丰富的字符串处理方法。

←Java把String类声明为final类,则String类不可以有子类。

←String类是字符串常量类,String对象创建后不能修改。

字符串String对象创建

←Java中字符串String对象创建有两种形式

◆方式一为字面量(即字符串常量)形式

如 String str = "droid";

◆方式二就是使用new这种标准的构造对象的方

如 String str = new String("droid");

字符串常量( String常量)

String常量:是用双引号括起的字符序列。例如:“你好”、“12.97”、“boy”等。

?它是String对象,有引用和实体。?Java把用户程序中的String常量放入常量池。

常量池

12AB

78CD

56EF

你好

boy

12.97

常量池中的字符串常量对象引用

JVM为了减少字符串对象的重复创建,其维护了一个特殊的内存,这段内存被成为字符串常量池。注意:相同内容的字符串常量在常量池中只存放一份。

字符串对象创建方式一:字符串常量形式 String 常量是String 对象,因此可以把String 常量的引用赋值给一个String 对象变量。 例如

String s1,s2;

s1 = "你好";

s2 = "你好"; s1,s2内存示意如图所示。 s1,s2存放的都是String 常量“你好”的引用(本例中假设为12AB ),具有相同的引用,故表达式s1==s2的值是true 。

常量池 12AB

动态区 s1 12AB s2 你好

字符串对象创建方式二:使用new 可以使用new 创建对象(即使用构造方法)。 例如: String s = new String("students"); String t = new String("students");

?如图,本例对象变量s 中存放着引用(实体的位置),即new 运算符首先为实体分配内存空间并放入字符序列,再将引用赋值给s 。(凡是new 运算符构造出的对象都不在常量池,在动态区)。

?new 运算符如它名字一样,每次都要开辟新天地。尽管s 和t 的实体内容都是字符序列:students ,但二者的引用是不同的(如图),即表达式s==t 的值是false 。

AABF 动态区(非常量池) students s FCDA students t

String类常用的构造方法

(1)public String() //创建空串

(2)可以用一个已创建的String对象创建另一个String对象,如:String tom = new String(s);

(3)String (char a[]) 用一个字符数组a创建一个String对象,如:

char a[] = {'J','a','v','a'};

String s = new String(a);

过程相当于String s = new String("Java");

String类常用的构造方法

(4)String(char a[],int startIndex,int count)

提取字符数组a中的一部分字符创建一个String对象,

参数startIndex、count分别指定在a中提取字符的起始位置(以数组下标表示)和从该位置开始截取的字符个数

如:

char a[] = {'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'};

String s = new String(a,2,4);

相当于String s = new String("贰叁肆伍");

相关主题
文本预览
相关文档 最新文档