标签:地址 字典顺序 回收 bsp 指定 ... 内容 调用 3.1
1.String对象的声明和操作
字符串无处不在,使用String来构造,并存储字符串,
例:
常用:String str = “abc”;
不常用:String str = new String(“abc”);
PS:
String s= "abc";
String s1 = "abc";
s==s1=true;(==号判断地址是否一致,equals判断内容是否一致);
s.equals(s1)=true;
使用new关键字创建字符串,就会在字符串池中创建2个地址,内容一样,两者地址不同,
String s=new String ("abc");
String s1= new String ("abc");
s==s1=false;(==号判断地址是否一致,equals判断内容是否一致);
s.equals(s1)=true;
String对象是不可变的,
类中每一个看来会修改String值的方法,其实都是创建了新的String对象(包含修改后的字符串内容),
String的只读性带来效率优化可能
字符串字面值存储于字符串池中,String对象优先指向该字符串池,避免反复生成重复的字符串实例,
系统对String 的非修改处理效率很高,远远超过另外两个字符串类StringBuffer和StringBuilder
2.String对象的常用方法
--length()--返回此字符串的长度
--charAt(int index)--返回指定索引处的char值。
--concat(String str) --将指定字符串连接到此字符串的结尾
--contains(CharSequence s)--是否包含指定的字符串序列
--equals(Object anObject ) --将此字符串与指定的对象比较
--compareTo(String anotherString ) --按字典顺序比较两个字符串
--indextOf(int ch) --返回指定字符在此字符串中第一次出现的索引
--split(String regex) -- 根据匹配给定的正则表达式来拆分此字符串
--substring(int beginIndex) --截取字符串
--toLower/upperCase() -- 将指定字符串进行大小写转换
等等...
3.面向对象的优点
3.1便于程序模拟现实世界中的实体
用“类”封装建模实体对象的状态和行为
3.2隐藏细节
对象的行为和状态被封装在类中,外界通过公共的接口--来调用类的方法来获得状态信息,不需要关注内部细节如何实现,
3.3可重用
通过类模版,可创建多个对象事例,重用类的定义代码
4.java对象的内存管理机制
使用new创建对象,在堆内存分配对象空间、初始化
在方法栈中定义局部变量,持有对堆内存中对象的引用
方法执行完返回,栈内存自动释放,局部变量销毁
如果堆内存中对象没有变量引用它,成为垃圾,由垃圾回收器回收,释放所占堆内存!
标签:地址 字典顺序 回收 bsp 指定 ... 内容 调用 3.1
原文地址:http://www.cnblogs.com/zhengfangqing/p/7519616.html