栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

11.16学习总结

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

11.16学习总结

常用类:

         String : 不可变长的字符序列
         String类表示字符串  Java程序中的所有字符串文字(例如"abc" )都实现为此类的实例。
         StringBuilder : 可变长的字符序列, 字符串缓冲区支持可变字符串
         StringBuffer : 可变长的字符序列;

   底层: jdk8->字符数组   private final char[] value;
            jdk11->字节数组 private final byte[] value;

String :  不可变的字符序列   private final byte[] value;
    StringBuilder : 可变的字符序列,线程不安全|不同步
        建议使用StringBuilder代替StringBuffer
    StringBuffer : 可变的字符序列,线程安全的|同步
        在多线程环境下保证数据的安全,建议使用StringBuffer

    执行效率: StringBuilder >  StringBuffer > String

    StringBuilder|StringBuffer :
        byte[] value; --> 默认初始容量16,每次扩容原容量的2倍+2,使用 Arrays.copyOf方法进行扩容
            int newCapacity = (oldCapacity << 1) + 2;

基本数据类型的包装类
                基本                      引用
        byte                              Byte
        short                             Short
        int                               Integer
        long                              Long
        char                              Character
        boolean                           Boolean
        double                            Double
        float                             Float

        自动拆装箱: jdk1.5
            自动装箱 : 基本--->引用
            自动拆箱 : 引用--->基本
        问:
            有了基本数据类型为什么还需要包装类?
                1.包装类中提供了一些成员方法,更强大
                2.类似容器中只能存储引用数据类型数据,需要包装类
                3.基本数据类型与引用数据类型默认值不同
            为什么有了引用数据类型还有基本数据类型?
                有利于节省内存
                使用更简单方便


     总结 : int,Integer,new Integer数据比较问题:
        要求数据值相等考虑类型,地址等问题
        1)两个new 比较,肯定不相等,堆内存中地址不同
        2)两个int 比较,值相等就相等
        3)int与Integer比较,无论是否通过new,只要数据值相等就像等,因为会先自动拆箱成基本数据类型比较
        4)一个Integer,一个new Integer肯定不相等,new 就是堆内存地址,地址肯定不同
        5)两个Integer比较,看数值的范围是否在[-128,127]之间,在之间相等,不在之间返回new Integer不相等

枚举类型 : 一种事物的所有可能,一种类型的所有实例
        1.enum定义枚举
        2.枚举类中的字段都作为当前枚举类型的实例存在,默认public static final修饰
        3.枚举类中可以根据需求定义成员,成员变量,成员方法,构造器...
        4.枚举类型中的构造器默认私有的
        5.所有的枚举类型默认隐式的继承自java.lang.Enum类型

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/531204.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号