zoukankan      html  css  js  c++  java
  • 包装类

    由于基本类型本身没有方法和属性,所以为了快捷的操作这些数据,针对每一种基本类型提供了对应的类形式.

    自动封箱(底层会默认调用当前类中的valueOf()方法)

    int i=6;
    //将基本类型的变量直接赋值给了对应的引用类型的对象
    Integer in=new Integer(i);
    //Integer in=Integer.valueOf(i);    当数值范围在-128~127之间的时候(仅限于四种整数类型),返回了Integer.cache中对应下标上的值,超出范围则会返回一个新对象,可以用来判断自动封箱是调用valueOf方法来实现而不是创建对象得到的
    System.out.println(in);

    自动拆箱(底层会默认调用当前类中的intValue()方法)

    Integer in=new Integer(10);
    int i=in;
    System.out.println(i);
    //包装类型在和基本类型进行运算的时候,底层会自动拆箱
    int i=128;
    Integer in=128;
    System.out.println(i==in);

    整型和浮点型数据允许将字符串转化为对应类型(对象)或基本类型(变量)

    特殊的:

    Character 只能将字符转化为Character类型

    Boolean 允许将字符串转化为对应类型,但结果不是true(忽略大小写)就是false

    Integer in=new Integer("456");
    System.out.println(in);

    包装类提供了许多相似的方法

    intValue           自动拆箱时底层会调用该方法

    parseInt(character)   将字符串转化为相应的基本类型(变量)

    int i=Integer.parseInt("-456");
    System.out.println(i);

    hashCode   字面量的哈希码都是固定的,输出的值是强转为int类型后的值((特殊的)boolean(true:1231)(false:1237)),区别于Object对象或其它对象可变的哈希码值。

    补充:

    字面量:整数、小数、字符、字符串、布尔、空

    null的哈希码规定为0

    所有的字面量都是存储在运行时常量池

    常量池存储的是字面量以及自定义常量(final修饰的常量)

  • 相关阅读:
    01快速入门-03-条件判断和循环
    01快速入门-02-数组和对象
    01快速入门-01-基本语法和数据类型
    《Head First 设计模式》[01] 策略模式
    爬山算法与模拟退火算法的分析与实现
    Java虚拟机(二) —— 运行时数据区的OOM异常
    CoreJava(一)—— Java迭代语句
    Java虚拟机(二) —— 垃圾回收算法与垃圾回收器
    算法学习 —— 使用Linux C++练习OJ
    Java虚拟机(一) —— 运行时数据区
  • 原文地址:https://www.cnblogs.com/lj-cn/p/9343680.html
Copyright © 2011-2022 走看看