下载此文档

22. Java中String类介绍.docx


文档分类:IT计算机 | 页数:约11页 举报非法文档有奖
1/11
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/11 下载此文档
文档列表 文档介绍
Java中String类介绍
String 类是一个final类,不可以被继承。字符串是一个常量,对象一旦创建,就不可以改变了,两个或者多个字符串可以叠加到一个新的字符串对象中去,字符串用+ 号拼接。不能向原有的字符串对象添加内容。字符串对象一旦初始化后,就不可以改变了。
String类的特点:
字符串对象一旦初始化后,就不可以改变了,是内容不会变了,但是字符串引用可以指向其他的字符串;String str = "abcd"; str = "efghd"; 是合法的,只是”abcd”字符串仍然存在而已,但是引用str指向了新的字符串 efghd。
字符串的定义方法:
第一种:String str = “abc”;
第二种:String str = new String(“abc”);
两种定义方法的区别:
(1) String s1 = "abcd"; String s2 = "abcd";
(s1 == s2); //返回结果是 true
双等号== 判断的是地址,确实s1和s2的地址相同。因为存在字符串常量池,在创建一个字符串时,首先判断字符串池中是否有此字符串,如果没有就创建,如果已经存在,则直接把存在的字符串的地址赋给引用即可,故s1和s2的地址相同。只在字符串常量池中创建一个对象。
(2) String s3 = new String("abcd");
String s4 = new String("abcd");
(s3 == s4);//返回结果是false
这是在堆内存中创建了两个对象,所以s3 和 s4 指向不同的对象。
(3) 总结: 第一种方法是在字符串常量池中创建唯一的一个对象;第二种方法(利用new)是在堆内存中创建字符串对象,一个new对应一个字符串对象。
字符串池(string pool): 采用字面值方式赋值时,如String s= “aaa”, 首先查找字符串是否在字符串池中是否存在该字符串,若不存在,则创建此字符串对象,并返回地址;若字符串池中存在该字符串,则直接把已经存在的字符串的地址返回给引用,并没有创建新的对象。
(由于在程序编写时,会大量使用字符串string,而对于重复的不再重新分配地址,从而实现优化)
采用new的方式如String s = new String(“aaa”);首先是在字符串池中查找有没有此字符串对象,如果有,就不在字符串池中创建此对象了,直接在堆中创建一个字符串对象,如果没有,则先在字符串池中创建这个字符串对象,然后在堆中再创建这个对象,最后把堆中的地址返回来。注意:返回的都是堆中的对象,所以new一次,就会在堆中新建一个对象,地址肯定不同,但是利用字面赋值的方法,返回的是字符串池中的地址,如果字符串内容相同,则就是同一个地址,所以采用==判断时,相同。
任何数据和字符串相拼接,都会转换成字符串。
String s1= new String(); 与 String s2 = “”; 和 String s3 = null;不一样,前两者都创建了对象,只不过是空字符,引用已经分配了对象地址,而第三个没有创建对象,引用为空。
String有很多构造方法(Constructors):
String():空参数的构造方法是创建一个空字符的字符串对象;
String(String original):创建一个内容为original的字符串对象;
String(byte[] bytes):将字节数组变成字符串,把这些字节值作为码值,转换成相应的符号,输出;
String( char[] value): 将字符串数组变成字符串;同时还有可以设置偏移量的等等;
还有很多,可以使用时查看API文档。
按照面向对象的思想对String的功能进行分类:
获取:
①字符串的长度(字符的个数),利用方法length()获取int值;
注意:字符串需要使用length()方法获取长度,而数组的长度是利用它的属性length得到长度值。
②根据位置获取字符;
char charAt(int index)
③根据字符获取第一次出现的位置:
int indexOf(int ch) 参数支持ACSII码,所以为int类型。
int indexOf(String str)
int indexOf(String str, int fromIndex)
int lastIndexOf(int ch)
int lastIndexOf(int ch, int fromIndex)
int lastIndexOf(String str)
int l

22. Java中String类介绍 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数11
  • 收藏数0 收藏
  • 顶次数0
  • 上传人xunlai783
  • 文件大小35 KB
  • 时间2018-01-07