谈谈JDK1.5新特性之Integer与int的自动装箱和自动拆箱

import junit.framework.Assert;

import org.junit.Test;

public class AutoBox {

//Integer和int的自动拆箱和自动装箱的数据范围是-128——127,也就是一个字节表示的范围内

//其实String str1 = "main strings";与拆箱和自动装箱有异曲同工之效

//要说明白这个,就得明白,JAVA的栈和堆,这里主要说栈,就String str1 = "main strings";而不是String str2 = new String("main string");

//因为前者会在栈中存放,在存放"main strings"之前,会在栈中查找,是否已经存在"main strings",如果存在,则str1也指向该地址,就多个对象共享同一内存值

//这跟装箱和拆箱的-128——127的栈数据共享是一致的,而str2是调用new的,存放与堆,每次调用都会重新new出一块内存,而不会共享同一块内存值。

@Test
public void testAutoBoxing() {
  Integer inter = 100;
  Integer inter2 = inter;
  System.out.println(inter == inter2);
  inter2++;
  System.out.println(inter == inter2);
  int sum = 10 + 10;
  Assert.assertEquals(21, sum);
}

@Test
public void testAutoBoxing2() {
  // System.out.println(inter == inter2);
  Integer inter = 100;
  Integer inter2 = inter;
  System.out.println(inter == inter2);
  inter2++;
  System.out.println(inter == inter2);

  System.out.println(inter == inter2);
  System.out.println(inter == inter2);

  System.out.println(inter == inter2);
  System.out.println(inter == inter2);
  int sum = 10 + 10;
  Assert.assertEquals(21, sum);
  // Color.BLACK;
}

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值