449-JavaSE进阶-装箱和拆箱的概念 450-JavaSE进阶-Integer的构造方法
-
Number 类
- Number 里面有方法
- Number 里面有方法
-
为什么出现了一个划横线的,对象已过时
package com.bjpowernode.javase1.integer1;
/*
1、8种基本数据类型对应的包装类型名是什么?
基本数据类型 包装类型
-------------------------------------
byte java.lang.Byte(父类Number)
short java.lang.Short(父类Number)
int java.lang.Integer(父类Number)
long java.lang.Long(父类Number)
float java.lang.Float(父类Number)
double java.lang.Double(父类Number)
boolean java.lang.Boolean(父类Object)
char java.lang.Character(父类Object)
3、八种包装类中其中6个都是数字对应的包装类,他们的父类都是Number,可以先研究一下Number中公共的方法:
Number是一个抽象类,无法实例化对象。
Number类中有这样的方法:
byte byteValue() 以 byte 形式返回指定的数值。
abstract double doubleValue()以 double 形式返回指定的数值。
abstract float floatValue()以 float 形式返回指定的数值。
abstract int intValue()以 int 形式返回指定的数值。
abstract long longValue()以 long 形式返回指定的数值。
short shortValue()以 short 形式返回指定的数值。
这些方法其实所有的数字包装类的子类都有,这些方法是负责拆箱的。
*/
public class IntegerTest02 {
public static void main(String[] args) {
//装箱 基本数据类型 --> 引用数据类型
//构造方法
Integer qwe = new Integer(123); //装箱操作
// Float qwe = new Float(123.0);
//拆箱 引用数据类型 --> 基本数据类型
//调用value方法
/*强制类型转换:从大类型到小类型,需要强制转换符实现强制转换*/
float i = qwe.floatValue();
//int a3 = (int) qwe.floatValue();这里转换需要加强制转换,而上面的 Integer --> floatValue 转换这是
//基本数据类型 和 引用数据类型 的转换
System.out.println(i);
Float a1 = new Float(123.0);
int a2 = a1.intValue();
System.out.println(a2);
}
}
输出:
123.0
123
进程已结束,退出代码 0