package com.hadwinling.dayo4.包装类;
/**
* 创建时间:2020年2月14日 下午2:43:34
* 项目名称:HadwingLing
* @author HadwinLing
* @version 1.0
* @since JDK 1.6.0_21
* 文件名称:integerDemo.java
* 演示包装类:
* java中的8个基本数据类型,都各自有一个对象的包装类
* 基本数据类型:byte short long float double boolean
* 包装类 :Byte Short Long Float Double Double
*
* 基本数据类型 char int
* 包装类 : Character integer
*
* 包装类中定义了丰富的API,使用方便,
* 某些情况下只能使用引用类型,而不能使用基本数据类型
*
*
*
*
*/
public class integerDemo {
public static void main(String[] args) {
//包装类的用法
//1。创建integer对象(已经过时,但是还是可以用)
Integer integer= new Integer(100);
//2. 通过valueOf()推荐
//注意:传入的非数字字符串,抛出java.lang.NumberFormatException
Integer integer2 = Integer.valueOf(10);
Integer integer3 = Integer.valueOf("1000");//字符串转为整数
// Integer integer4 = Integer.valueOf("abc");//抛异常
//3.自动装箱,
Integer integer6 = 10;//自动封箱int==》integer
Integer integer7 = 10;
System.out.println(integer6 == integer7);//true
Integer integer8 = 128;
Integer integer9 = 128;
System.out.println(integer8 == integer9);//false
//原因: 自动装箱本质上调用的是Integer.valueOf,
//对 Integer 对象,JVM 会自动缓存-128~127 范围内的值,
//所以所有在这个范围内的值相等的 Integer 对象都会共用一块内存,
//而不会开辟多个;
//超出这个范围内的值对应的 Integer 对象有多少个就开辟多少个内存。,
int i10 = integer6;//自动拆箱
System.out.println(i10);
//
System.out.println(Integer.MAX_VALUE);//2147483647
System.out.println(Integer.MIN_VALUE);//-2147483648
//比较
// Integer.compare(x, y)
//字符串转为数字
int i11 = Integer.parseInt("123");
System.out.println(i11);
}
}
java--包装类(自动装箱,自动拆箱)
最新推荐文章于 2023-06-05 11:12:45 发布