Integer int Integer i = new Integer(int value); int i2 = i.intValue();
基本数据类型和String转换 String -->int static int parseInt(String s) int i = Integer.parseInt("123"); int ->String String 类valueOf(int val); String str = String.valueOf(123);
装箱和拆箱:
java5开始出现自动装箱和拆箱;
自动装箱: 可以直接把一个基本数据类型的值直接赋给它所对应的包装类对象; Integer i = 17; 自动拆箱:把包装类对象直接赋给它所对应的基本类型的一个变量 int i2 = new Integer(2); Object是所有类的超级父类, Object的对象可以接受一切数据; 享元模式: Byte,Short,Integer,Long缓存了一个区间的数据;[-128,127]看源代码 Integer i1 = 123; Integer i2 = 123; i1 == i2;//true new Integer(123) == new Integer(123);//false Object类:就是描述对象的一个类 是超级父类; 可以接受一切数据,包括数组; Object o = {1,2,3}; Object o = new int[]{1,2,3}; boolean equals(Object otherObj); 就是那当前对象和otherObj相比较; 默认情况下,比较的是 内存里的地址,此时和 == 一样; 一般要求子类根据自身情况覆写该方法, String 类覆写 equals方法 Integer 类也覆写了 equals方法 int hashCode();//返回对象的一个十进制的hash值,每个对象的hashCode都不一样 String toString();//把对象转成String类型, 描述对象信息 默认情况下, 类的全限定名 + @ + Integer.toHexString(this.hashCode()); 一般要求子类覆写该方法 平时我们打印对象,其实打印的是对象的toString方法,也就说在底层该对象会去调用toString方法
class Person{ String name;
int age; public Person(String name,int age) { this.name = name; this.age = age; }