A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© xman20 中级黑马   /  2015-3-21 10:45  /  1181 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


         印象很深的是关于Java 字符串的一些很有意思的 ,首先对于字符串String 对象,API中已经用final对该类class进行修饰,无法继承,而且字符串是一个final常量,new出了一个新的字符串后,是无法改变的,如果改变了字符串,只是重新创建了一个字符串对象,而原字符串对象并未改变。

比如 String s = “abcd ”;  s= “mmnnoqp”。在内存中”abcd”也是一个对象,改为”mmnnopq”后,字符串”abcd”并未发生变化,只不过是s的引用地址变为了新的对象”mmnnoqp”。

         而且java程序中,如果有相同的字符串对象,指引的地址为同一个对象,可以用范例String s1 =”abc”; String s1=”abc”; System.out.println(s1==s2);结果为true。这样可以节省更多的内存空间。

         有一个重点就是,在新建字符串对象的时候。String s =”abc”; 和String s = new String(“abc”); 是不一样的,前者只是在内存中创建了一个对象,而后者创建了两个对象,一个为new String(),一个为”abc”;创建的过程是不一致的。



         作为最常见也是最常用的对象,JAVA已经封装了一系列的方法供调用来处理字符串对象,每一个都应该熟记和熟练应用,比如去掉空格的trim(),还有类型转换的方法String.valueOf(); 多学并多练。

1 个回复

倒序浏览
这些都得记吗  本人菜
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马