2016.3.16小结

自动装箱与自动拆箱

Integer a=3;//这是自动装箱

        其实编译器调用的是static Integer valueOf(int i)这个方法,valueOf(int i)返回一个表示指定int值的Integer对象,那么就变成这样: 

        Integer a=3;   =>    Integer a=Integer.valueOf(3);

        (2)拆箱自动装箱的方向相反,将IntegerDouble这样的引用类型的对象重新简化为基本类型的数据。

         如下:

         int i = new Integer(2);//这是拆箱

         编译器内部会调用int intValue()返回该Integer对象的int值

Integer a =-129;
Integer a1 =-129;
System.out.println(a==a1);//false
Integer integer1 = 100;  
Integer integer2 = 100;  
System.out.println( integer1 == integer2);//true
Integer integer3 = 200;  
Integer integer4 = 200;  
System.out.println(integer3 == integer4);//false
 两个 Integer 对象最好不要用 == 比较。 因为: -128~127 范围 ( 一般是这个范围 ) 内是取缓存内对象 用,所以相等,该范围外是两个不同对象引用比较,所以不等。
		Integer a = new Integer(1);
		Integer b = new Integer(1);
		int c=1;
		Integer e = 1;
		System.out.println("a==b:"+(a==b));//false
		System.out.println("a==c:"+(a==c));//true
		System.out.println("a==e:"+(a==e));//false
		System.out.println("c==e:"+(c==e));true
(1) Integer  int 之间可以进行各种比较; Integer 对象将自动拆箱后与 int 值比较

       (2)两个Integer对象之间也可以用><等符号比较大小;两个Integer对象都拆箱后,再比较大小

	Integer e=1; 这个比较特殊,直接赋值  它有独立的内存,每次赋值时将检查内存中是否有值跟他匹配的,若有则把此内存地址付给e,若没有,开辟新的内存
	你可以尝试下面的例子:
	Integer t = 1;
	Integer t1 = 1;
	t==t1 为true,如上所说,此时t与t1指向的是同一块内存

	new 一定是开辟新的内存,直接赋值则不一定开辟新的内存
	因为a的引用指向堆,而e指向专门存放他的内存,所以他们的内存地址不一样
	所以a==e为false

	c==e等同于 a==c,一个引用类型一个值类型
-------------------------------------------------------------------------------------------------

Date类型format() parse()方法 

Date date=new Date(); System.out.println(System.currentTimeMillis()); SimpleDateFormat date1=new SimpleDateFormat("yyyy-MM-dd hh.mm.ss"); System.out.println(date1.format(date)); String s="1999-9-9"; SimpleDateFormat date2=new SimpleDateFormat("yyyy-MM-dd"); try { System.out.println(date2.parse(s)); } catch (ParseException e1) { // TODO Auto-generated catch block e1.printStackTrace(); }

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值