package com.uncle.myutil;
/**
* 包装类(封装类) 1.5版本之后 自动拆装包
* byte---Byte short---Short int---Integer long---Long
* float---Float double---Double char---Character boolean---Boolean
* 1.八个包装类都在同一个包下 java.lang包 不需要import导包直接使用
* 2.八个包装类中有六个是与数字相关 都默认继承父类Number
* 3.八个包装类都实现了Serializable, Comparable
* 4.八个包装类都有带自己对应类型参数的构造方法
* 八个包装类中有七个(除了Character)还有构造方法重载 带String类型
* 5.创建对象 对象调用方法
* 有六个与数字相关的类都继承Number xxxValue(); 将一个包装类类型转化为对应的基本类型(拆包)
* Integer i1 = new Integer(10);//引用数据类型 包装类
* int value = i1.intValue();
*
* Integer i2 = 10;
* int value = new Integer(10);
*
* int value = Integer.parseInt("123"); Float.parseFloat("123.45")
* int value = new Integer("123");
* 6.笔试题
* Integer i1 = 10;
* Integer i2 = 10;
* Integer i3 = new Integer(10);
* Integer i4 = new Integer(10);
* System.out.println(i1==i2);// true--->如果数字范围超过127false
* System.out.println(i1==i3);// false
* System.out.println(i3==i4);// false
* System.out.println(i1.equals(i2));//true
* System.out.println(i1.equals(i3));//true
* System.out.println(i3.equals(i4));//true
* 1.==与equals()区别
* ==可以比较基本数据类型 也可以比较引用数据类型 (变量中存储的内容)
* 如果比较基本类型比较是变量中存储的值
* 如果比较引用类型比较是变量中存储的地址引用
* equals()是Object类中继承过来的方法 每一个引用类型都可以调用
* 默认继承的equals()方法比较与==一致 如果想要改变比较规则 可以重写equals方法
* 由于Integer类就重写了equals() 所以Integer比较的是数值
* 2.考察Integer类加载的时候 自己有一个静态的空间
* 空间内立即加载 Integer类型的数组 内存储256个Integer对象 -128 ~ 127
* 如果我们用的对象范围在这之内Integer i1 = 10; 直接取静态区中找对应的对象
* 如果我们用的对象范围超出了这个Integer i1 = 1000; 会帮我们创建一个新的Integer对象
*/
public class TestUtil {
public static void main(String[] args){
new TestUtil().equals(null);
Integer i1 = 1000;//10自动包装成Integer对象
Integer i2 = 1000;
Integer i3 = new Integer(1000);
Integer i4 = new Integer(1000);
System.out.println(i1==i2);//true-->false
System.out.println(i1==i3);//false
System.out.println(i3==i4);//false
System.out.println(i1.equals(i2));//true
System.out.println(i1.equals(i3));//true
System.out.println(i3.equals(i4));//true
//重写后的equals方法
//public boolean equals(Object obj) {
// if (obj instanceof Integer) {
// return value == ((Integer)obj).intValue();
// }
// return false;
// }
//重写后的hashcode
// public static int hashCode(int value) {
// return value;
// }
}
}
Integer类
最新推荐文章于 2024-09-25 10:59:43 发布