您的位置:首页 > 编程语言 > Java开发

javaSE_包装类

2016-04-07 00:16 363 查看
String toString()

*重写toString方法

*当我们调用一个类的toString方法时,就应当重写该方法,

*因为Object提供的toString方法返回的句柄没有什么实际意义。

*toString返回的字符串应当包含当前类的属性信息。

*具体格式可以根据实际开发需求而定。

*需要看到那些属性,就将那些属性接到字符串中

public class Point{

public StringtoString(){

return"("+x+","+y+")";//point-->(x,y)

}

}

Object中定义的toString方法

* 返回的是对象的句柄(对象的地址)

* 格式为:类名@地址

Point p=new Point(1,2);

String str=p.toString();

System.out.println(str);//day02.Point@27391d

Point p1=newPoint(1,2);

System.out.println(p==p1);//false
地址不等

boolean equals(Object o)

* 重写equals方法

* 目的是比较两个对象的内容是否一致。

* 并不是说所有属性都一样,才叫内容一致,这个要结合将来实际开发需求。

* 如果不重写,默认的是Object的equals,那么比较的就是地址了。

Object提供的equals方法就是用“==”进行比较的,但是并无实际义。

* 当我们需要使用一个类的equals方法时应当重写它。

* java API提供的类基本都实现了该方法(已经重写过了)。

对于引用类型变量而言:

* “==”:值比较,在这里就是地址的比较,所以两个引用类型变量指向同一个对象时才为true,所以比较的是是否为“同一个”

* “equals”:内容比较,比较的是两个对象的内容是否一样,所以比较的是“像不像”

System.out.println(p.equals(p1));//true

包装类(引用类型)

* 基本类型由于没有面向对象特性,所以不能直接参与面向对象开发,为此java为8个基本类型定义了8个包装类,

* 使用包装类可以将基本类型以对象的形式存在,从而参与面向对象开发。

* 6个数字类型(Byte类 Short类 Integer类 Long类 Float类 Double类)包装类继承自Number。

* Number要求数字类型包装提供了6个数字类型转换的方法。

基本类型-->引用类型(包装类)

将基本类型转换为包装类时,推荐使用包装类的静态方法valueOf(),而不是使用new创建

Integer in=Integer.valueOf(127);//value有范围

System.out.println(in.intValue());//127
int形式返回并输出

System.out.println(in.doubleValue());//127.0
以double形式返回

数字类型Number包装类支持两个常量

* MAX_VALUE:包装类对应基本类型的最大值

* MIN_VALUE:包装类对应基本类型的最小值

包装类都提供了一个静态方法:parseXXX(String str)

* 可以将给定的字符串转换为对应的基本类型值。

* 但是前提是该字符串必须能正确描述该基本类型值。

自动拆装箱

* 自动拆装箱是编译器认可,而不是JVM认可的。

* 编译器在编译源程序时,自动补充了代码在基本类型与引用类型之间转换的过程,称为自动拆装箱。

下面的代码触发了自动装箱:

* 编译器(内部自动)会将代码改为:

* Integer in=Integer.valueOf(1);

Integer in=1;

System.out.println(in);//1

下面的代码触发了自动拆箱:

* 编译器会将代码改为:

* int i=in.intValue();

int i=in;

System.out.println(i);//1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: