JavaSE知识复习笔记09

Java常用类库03

基本数据类型的包装类

  • 在Java中 8个基本数据类型 都有其对应的包装类
  • 这八个包装类均为引用数据类型
基本数据类型包装类型父类
bytejava.lang.ByteNumber
shortjava.lang.ShortNumber
intjava.lang.IntegerNumber
longjava.lang.LongNumber
floatjava.lang.FloatNumber
doublejava.lang.DoubleNumber
booleanjava.lang.BooleanObject
charjava.lang.CharacterObject

在JDK1.5之后 Java提供了自动装箱与自动拆箱机制

当普通的字面值赋给包装类时 会自动装箱成包装类

当包装类的对象赋值给基本数据类型的变量时 会自动拆箱成基本数据类型

频繁的装箱拆箱会消耗额外的资源 尽量根据实际情况选择适合的类型


Integer类

  • 最常用的包装类 其他包装类都与其类似
  • 构造方法
    • new Integer(10)
    • new Integer("20")

在JDK9之后 构造方法被标记为已弃用 不建议使用

可以使用 Integer.valueOf(int) / Integer.parseInt(String) 构建对象

Integer静态常量

  • static final int MAX_VALUE INT类型的最大取值
  • static final int MIN_VALUE INT类型的最小取值

Integer静态方法

  • parseInt()
    • 将字符串转换为Integer对象
    • 如果给定字符串是非法格式 会抛出 java.lang.NumberFormatException 异常
  • toBinaryString()
    • 将指定整数以二进制格式返回 (字符串形式)
  • toHexString()
    • 将指定整数以十六进制格式返回 (字符串形式)
  • toOcatlString()
    • 将指定整数以八进制格式返回 (字符串形式)
  • valueOf()
    • 将int类型变量转换为Integer类型对象

Integer整形常量池

  • Java中 为了提高整数的使用效率 处于 [-128, 128) 范围的数字会创建在整数常量池中
    • 当程序员新建这个范围内的整形变量 不会新创建一个对象 而是在整数常量池中 直接取出并使用
    • 不会重新开辟空间 使用了缓存机制 提高这些数字的访问效率
  • 在底层源码中 Integer类中存在一个静态内部类 IntegerCache 这个类就是负责整数常量池的创建和使用的

Arrays工具类

  • 用于数组操作的工具类
  • 位于 java.util 包中

Arrays的常用方法

  • static void sort(...)
    • 对指定数组进行排序 可以指定排序范围
    • 可以指定一个比较器用于排序
    • JDK8之前 底层使用传统快速排序
    • JDK8之后 底层使用双轴快速排序
  • static int binarySearch(...)
    • 根据给定值 在数组中查询
    • 使用二分法查找 需要数组有序
    • 可以指定搜索的范围
    • 未能找到元素时 返回 -1

Enum类

  • Java中的枚举类型 在JDK1.5后提供
enum WeekDay {
    MONDAY, THESDAY, WEDNESDAY,
    THURDAY, FRIDAY, SATURDAY, SUNDAY
}
  • 使用枚举可以定义一些单独的常量
  • 枚举是一种特殊的类 系统编译时会继承Enum类
// 为枚举类中的常量定义值
enum WeekDay {
    MON("星期一"), 
    THE("星期二"), 
    WED("星期三"), 
    THU("星期四"), 
    FRI("星期五"), 
    SAT("星期六"), 
    SUN("星期日");
}
WeekDay day = WeekDay.MON;
System.out.println(day.name());
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值