包装类、Object类——Java笔记(八)
2014-09-16 22:35
453 查看
包装类:
基本数据类型的包装类
基本数据类型包装类除了Character类之外,其他7个都有两个构造方法
一个构造方法传参传的是基本数据类型本身
另一个构造方法传参传的是String类型的,而Character少的就是这一个,即public Character(String c){};
包装类Boolean操作时
Boolean b = new boolean("TRUe");//里面传参除了TRUE之外且不区分大小写,其他的都默认是FALSE ;
包装类转基本类型:
调用基本数据类型value()方法
例:
Integer a = new Integer();
//把 Integer包装类调用intvalue()就成功的转成int数据类型
int b = a.intvalue();
基本类型转包装类:
直接new其包装类就
例:
Integer a = new Integer(16);
Java5开始提供了包装类转基本类型、基本类型转包装类的功能
基本类型转包装类
可以把一个基本数据类型的值直接赋给其包装类对象
例:
Integer a = 16;
包装类转基本类型
可以把一个包装类对象直接赋给一个基本数据类型的变量
int b = a;
Integer的值相等么?
1.当赋值情况如下时:
Integer a = new Integer(16);
Integer a2 = new Integer(16);
System.out.println("a1 == a2 " + (a1 == a2)); //false
如果用这种创建对象的模式那么integer的值就不想等,因为他们是两个对象
2.如果用Java5的新特性:
Integer a = 16;
Integer a2 = 16;
System.out.println("a1 == a2 " + (a1 == a2)); //true
如果用这种模式那么它们的只是相等的,不过它们的值只有在这个[-128,127]区间内才相等
byte,short,int,long它们的缓存区间都一样[-128,127];
类型转换:
String ---------> int
static int parseInt(String s);
可以使用parseInt(String s)方法,该方法作用是将字符串参数作为十进制整数进行解析
Object类
所有父类的公共父类,一旦一个类没有显示地继承一个类则其直接父类一定是object,所有对象(包括数组)都实现这个类的方法
一切数据类型都可以用object接收
常见方法:
boolean equals(Object obj)指示他某个对象是否与此对象相等
equals默认比较的是堆里面的地址,与==一样,都是比较地址
==用于判断两个变量是否相等 必须指向同一个对象才是TRUE,只能比较有父子或平级关系的两个对象
String toString() 返回该对象的字符串表示
以字符串的形式描述了对象的状态
当你直接打印某个对象的时候默认的就调用了toString()方法
基本数据类型的包装类
基本数据类型 | 包装类 |
byte | Byte |
short | Short |
int | Integer |
long | Long |
char | Character |
float | Float |
double | Double |
boolean | Boolean |
一个构造方法传参传的是基本数据类型本身
另一个构造方法传参传的是String类型的,而Character少的就是这一个,即public Character(String c){};
包装类Boolean操作时
Boolean b = new boolean("TRUe");//里面传参除了TRUE之外且不区分大小写,其他的都默认是FALSE ;
包装类转基本类型:
调用基本数据类型value()方法
例:
Integer a = new Integer();
//把 Integer包装类调用intvalue()就成功的转成int数据类型
int b = a.intvalue();
基本类型转包装类:
直接new其包装类就
例:
Integer a = new Integer(16);
Java5开始提供了包装类转基本类型、基本类型转包装类的功能
基本类型转包装类
可以把一个基本数据类型的值直接赋给其包装类对象
例:
Integer a = 16;
包装类转基本类型
可以把一个包装类对象直接赋给一个基本数据类型的变量
int b = a;
Integer的值相等么?
1.当赋值情况如下时:
Integer a = new Integer(16);
Integer a2 = new Integer(16);
System.out.println("a1 == a2 " + (a1 == a2)); //false
如果用这种创建对象的模式那么integer的值就不想等,因为他们是两个对象
2.如果用Java5的新特性:
Integer a = 16;
Integer a2 = 16;
System.out.println("a1 == a2 " + (a1 == a2)); //true
如果用这种模式那么它们的只是相等的,不过它们的值只有在这个[-128,127]区间内才相等
byte,short,int,long它们的缓存区间都一样[-128,127];
类型转换:
String ---------> int
static int parseInt(String s);
可以使用parseInt(String s)方法,该方法作用是将字符串参数作为十进制整数进行解析
//string ------> int int i = Integer.parseInt("0012"); System.out.println("string ------> int"+"\t"+i); //int ------> string Integer类 static String toString(int i); //String类 public static String valueOf(int i) //利用toString(int i),valueOf(int i)方法可以实现int ------> string String s = Integer.toString(i); System.out.println("int ------> string"+"\t"+s); int i1 = 123; System.out.println("int ------> string"+"\t"+String.valueOf(i1));
Object类
所有父类的公共父类,一旦一个类没有显示地继承一个类则其直接父类一定是object,所有对象(包括数组)都实现这个类的方法
一切数据类型都可以用object接收
常见方法:
boolean equals(Object obj)指示他某个对象是否与此对象相等
equals默认比较的是堆里面的地址,与==一样,都是比较地址
==用于判断两个变量是否相等 必须指向同一个对象才是TRUE,只能比较有父子或平级关系的两个对象
System.out.println(new Integer(1).equals(new Integer(1))); //true // 因为integer比较的是值,integer类重写了父类object类的equals方法 //integer类重写后的方法equals方法 public boolean equals(Object obj){ if(obj instanceof Integer){ return value == ((Integer)obj).intValue(); } return false; } System.out.println(new Object().equals(new Object())); //false //其他的还有String类也重写了equals()方法 int hashCode() // 返回该对象的哈希码值,每个对象的hashCode值不一样 System.out.println(new Object().hashCode());//1599065238 System.out.println(new Object().hashCode()); //1879096508
String toString() 返回该对象的字符串表示
以字符串的形式描述了对象的状态
当你直接打印某个对象的时候默认的就调用了toString()方法
相关文章推荐
- JAVA学习笔记(十七)- Object类和包装类
- My_Java之笔记(2)-基本数据类型对象包装类
- 多态Object类equals方法学习笔记ObjectDemo.java
- java笔记 chapter3 包装类,类型转换,程序的运行流程,面向对象的三大特征
- java笔记之Object,String,StringBuilder,StringBuffer,时间类和日期类以及包装类
- JAVA学习笔记——第八章 包装类
- Java学习笔记---16.面向对象编程11-Java多态性,instanceof及Object类
- 【JAVA学习】EffectiveJava的学习笔记--第二章 Object类的通用方法
- Java菜鸟学习笔记--面向对象篇(十五):Wrapper Class包装类
- Java菜鸟学习笔记()--面向对象篇(七):Wrapper Class包装类
- Java学习笔记_18_字符串、包装类、原始数据类剪得转换
- 多态Object类toString方法学习笔记ObjectDemo.java
- java包装类笔记
- java基础学习笔记(一)Object类
- Java菜鸟学习笔记--面向对象篇(十六):Object类方法
- Java笔记(七) Object类与对象转型
- 疯狂java学习笔记0928---包装类
- Java笔记:包装类、toString()方法、单例类、比较(==和equals方法)
- NO8.java笔记【面向对象、抽象类、abstract、接口、interface、多态 、内部类、匿名内部类、异常、Object类】
- [2014-07-18]JAVA笔记_Object类、String类