下载此文档

String池与iterator对集合的迭代.doc


文档分类: | 页数:约5页 举报非法文档有奖
1/5
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/5 下载此文档
文档列表 文档介绍
String池与iterator对集合的迭代
一、静态导入
1.       导入类的静态属性
import static ;
("haha");
2.       导入类的静态方法
import static .*; // 导入Math类的所有静态成员
int num = abs(-10);
二、基本数据类型的包装类
1.       Integer x = 1; x = x + 1;  经历了什么过程? 装箱à 拆箱 à 装箱
2.       为了优化,虚拟机为包装类提供了缓冲池, Integer池的大小 -128~127
3.       String池
     1. String s = "abc", 虚拟机首先会检查String池里有没有"abc"对象(通过equals方法)
       // 如果有,直接返回引用,如果没有,会在池里创建一个“abc”对象,并返回引用
       String s1 = "abc";
       String s2 = "abc";
       (s1==s2); // result: true
       
      
        2. String str = new String("abc"); 不管缓冲池是否有"abc", 都会在堆内存创建一个"abc"对象,返回引用
       // 此时,负责检查并维护缓冲池,其实堆内存的对象是缓冲池中"abc"对象的一个拷贝
       String s1 = new String("abc");
       String s2 = new String("abc");
       (s1==s2); // result: false
       
      
        3. String s = "a" + "b" + "c" + "d";  java编译器有个合并已知量的优化功能
       // 在编译阶段就把"a" + "b" + "c" + "d" 合并为 ”abcd“
       String s = "a" + "b" + "c" + "d";
    //  String s = "abcd";
       (s=="abcd");// result: true
       
      
        4.  String s1 = "a"; String s2 = "b"; String s3 = s1 + s2;
       // String是常量,不能相加的,java如何实现的?
        StringBuilder sb = new StringBuidler(s1);
        (s2);
        s3 = ();
        
        也就是说实际上s3是方法返回的String对象
        凡是方法返回的字符串对象都是在堆内存的

String池与iterator对集合的迭代 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数5
  • 收藏数0 收藏
  • 顶次数0
  • 上传人mh900965
  • 文件大小56 KB
  • 时间2018-03-20