黑马程序员技术交流社区

标题: Java学习笔记--常用类 [打印本页]

作者: 沐子松/kf    时间: 2014-6-13 11:47
标题: Java学习笔记--常用类

1.String
s1 = "h"
s2 = "h"
s1 == s2 为true,"h"存储在数据区,s1,s2虽然是引用变量,可是指向同一块区域
s1 = new String("h");
s2 = new String("h");
s1 == s2 为false,因为是new出来的,两个"h"在堆内存区域占两块区域
这也体现了堆内存区域和数据区域的区别,数据区如果是相同的值不会重新开辟区域,更优化
s1.equals(s2) 为true,object的equals方法比较的是两个变量的引用地址,而String重写了equals方法,优化之后,比较的是引用变量所指向的值

String的常用方法

public String[] split(String regex)


2.StringBuffer
String是不可变的字符序列,而StringBuffer是可变的
s1 = s1 + s2,在内存中重新开辟一块区域,将s1,s2的内容分别放进这块内存,组合成一串字符序列,然后再让s1指向它,这是一个静态的过程
StringBuffer则不同,初始化16个字符,当原来的空间不足时,动态扩大容量



作者: 尹稳定    时间: 2014-6-13 16:44
非常给力的帖子~
作者: hihello    时间: 2014-6-13 16:52
赞一个!
作者: 苏-L-w    时间: 2014-6-13 17:01
    过来多学习学习的
作者: C、一个画不完的    时间: 2014-6-13 18:09
过来看看。
作者: felixzr    时间: 2014-6-13 18:11
赞一个,总结的不错
作者: 梦里花落    时间: 2014-6-13 20:04
这个是不是写错了?还是我理解的有误·····{:2_45:}

作者: 沐子松/kf    时间: 2014-6-13 20:22
梦里花落 发表于 2014-6-13 20:04
这个是不是写错了?还是我理解的有误·····

额, 记住方法就好了,那只是一个变量




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2