您的位置:首页 > Web前端

Day11 JavaSE基础复习 (13)StringBuffer&数组排序

2019-05-21 20:33 246 查看

(13)StringBuffer&数组排序

 一.StringBuffer

  1. StringBuffer是字符串缓冲区,当new的时候是在堆内存创建了一个对象,底层是一个长度为16的字符数组
    当调用添加的方法时,不会再重新创建对象,在不断向原缓冲区添加字符
    [code]        StringBuffer sb = new StringBuffer();
    StringBuffer sb2 = sb.append(true);
    StringBuffer sb3 = sb.append("li");
    StringBuffer sb4 = sb.append(100);
    
    System.out.println(sb.toString());    //trueli100
    System.out.println(sb2.toString());    //trueli100
    System.out.println(sb3.toString());    //trueli100
    System.out.println(sb4.toString());    //trueli100

     

  2. StringBuffer和String的相互转换
           通过构造方法将字符串转换成StringBuffer对象
           通过append方法将字符串转换成StringBuffer对象

           通过构造将StringBuffer转换成String
           通过toString方法将StringBuffer转换成String
           通过截取字符串将StringBuffer转换成String

  3. StringBuffer和StringBuilder
    StringBuffer线程安全,效率低
    StringBuilder线程不安全,效率高

  4. String类虽然是引用数据类型,但是他当作参数传递时和基本数据类型是一样的

  5. Integer的面试题
    -128到127是byte的取值范围,如果在这个范围内,自动装箱就不会创建新对象, 而是从常量池中获取
    如果超过了byte取值范围就会再创建新的对象

[code]Integer i1 = 127;
Integer i2 = 127;
syso(i1 == i2);        //true
syso(i1.equals(i2));    //true

Integer i3 = 128;
Integer i4 = 128;
syso(i3 == i4);        //false
syso(i3.equals(i4));    //true







 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: