JAVA程序设计_ 常用实用类_81 String类_
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
常用实用类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("贰叁肆伍");