java -关于包装类自动装箱与拆箱拓展+整形常量池
关于自动装箱与拆箱
1、包装类与基本数据类型的自动转换,叫装箱和拆箱(类型自动转换)
2、自动装箱拆箱是在编译器,编译器自动配转换方法,实现装箱和拆箱。所以这个过程发生在编译期
3、只有需要相互类型转换时,编译期才会自动转换
关于整形常量池
1、整形常量池同样在方法区内存,是一种缓存技术(cache)
2、只有[-128 ~ 127]之间的整数数字才会放在整形常量池中(因为用的比较频繁)
/1、自动装箱、自动拆箱
public class Test04
{
public static void main(String[] args) { //当Integer与int类型相互转换时,系统编译阶段会自动进行装箱和拆箱
Integer i1 = 123;
int in2 = i1;
int in1 = new Integer(123); //如果没有Integer与int之间的相互转换,系统编译阶段不会自动装箱与拆箱
Integer i2 = new Integer(256);
Integer i3 = new Integer(256);
System.out.println(i2 == i3);//false,==两边如果是引用数据类型,那么比较的是引用对应的地址,显然两个对象的地址是不同的 Integer i4 = 256;
Integer i5 = 256;
System.out.println(i4==i5);//false,因为i4,i5同样是引用数据类型,其对应的地址肯定不同 //“整形常量池”
/**范围在[-128 ~ 127]之间的整数,因为计较常用,所以java在方法区内存(缓存cache)中创建
了一块内存叫“整形常量池”,类似于“字符串常量池”。所以的这个之间的数字都会在整形常量池中创建一份
*/
Integer i6 = 123;
Integer i7 = 123;
System.out.println(i6 == i7);//true; 因为i6和i7都是对应的同一个常量池常量,所以地址也是相同 }
}
java -关于包装类自动装箱与拆箱拓展+整形常量池的更多相关文章
- 《Java中的自动装箱和拆箱功能.》
//Java中的自动装箱和拆箱功能. class AutoboxingUnboxing { public static void main(String[] args) { //直接把一个基本类型变量 ...
- java中的自动装箱和拆箱
一.什么是自动装箱和拆箱: 我们知道java为8种基本类型分别提供了对应的包装类型,在Java SE5之前,如果要生成一个数值为10的Integer对象,必须这样进行: Integer i=new I ...
- 深入剖析Java中的自动装箱和拆箱过程
深入剖析Java中的装箱和拆箱 自动装箱和拆箱问题是Java中一个老生常谈的问题了,今天我们就来一些看一下装箱和拆箱中的若干问题.本文先讲述装箱和拆箱最基本的东西,再来看一下面试笔试中经常遇到的与装箱 ...
- Java中的自动装箱与拆箱
自动装箱和拆箱从Java 1.5开始引入,目的是将原始类型值转自动地转换成对应的对象.自动装箱与拆箱的机制可以让我们在Java的变量赋值或者是方法调用等情况下使用原始类型或者对象类型更加简单直接. 如 ...
- Java基础 【自动装箱和拆箱、面试题】
JDK 1.5 (以后的版本)的新特性自动装箱和拆箱 1. 自动装箱:把基本类型转换为包装类类型 int a =10; Integer i = new Integer(a); Integer valu ...
- Java 包装类 自动装箱和拆箱
包装类(Wrapper Class) 包装类是针对于原生数据类型的包装. 因为有8个原生数据类型,所以对应有8个包装类. 所有的包装类(8个)都位于java.lang下. Java中的8个包装类分别是 ...
- Java暗箱操作之自动装箱与拆箱
我以前在写Android项目的时候,估计写得最多最熟练的几句话就是: List<Integer> list = new ArrayList<Integer>(); list.a ...
- java 中的自动装箱和拆箱操作
在前面的文章中提到,Java为每种基本数据类型都提供了对应的包装器类型,至于为什么会为每种基本数据类型提供包装器类型在此不进行阐述,有兴趣的朋友可以查阅相关资料.在Java SE5之前,如果要生成一个 ...
- 转载:详解Java 自动装箱与拆箱的实现原理
原文:http://www.jb51.net/article/111847.htm 什么是自动装箱和拆箱 自动装箱就是Java自动将原始类型值转换成对应的对象,比如将int的变量转换成Integer对 ...
随机推荐
- JAVA Freemarker + Word 模板 生成 Word 文档 (普通的变量替换,数据的循环,表格数据的循环,以及图片的东替换)
1,最近有个需求,动态生成 Word 文当并供前端下载,网上找了一下,发现基本都是用 word 生成 xml 然后用模板替换变量的方式 1.1,这种方式虽然可行,但是生成的 xml 是在是太乱了,整理 ...
- 4Linux环境变量、Vim、Shell脚本
环境变量 命令在Linux中的执行分为4个步骤: 1.以路径的形式来执行 2.命令的别名形式来执行,alias 新命令=“原始命令”,新命令与原始命令互不冲突,可以同时使用,重启失效,修改/etc/p ...
- TXMLDocument 创建空值节点不要缩写
TXMLDocument 创建空值节点不要缩写 xmldoc.CreateNode('input'); 然后访问 xmldoc.DocumentElement.XML <input/> 节 ...
- Https的前世今生
1.年前会议 马上要过年了,公司业务上的需求也少了很多,这不,王小二他们召开了一场技术会议,盘点年前能干点啥. 只见C哥写了一份清单,其中一项是全站升级https. C哥说:https是一种趋势,但目 ...
- UI设计篇·入门篇·简单动画的实现,为布局设置动画,用XML布置布局动画
不仅仅控件可以设置动画,一个布局也可以设置动画, 当给一个布局设置了动画的时候,这个布局里所包含的控件都会依赖执行这些动画. 为布局设置动画的实现步骤: 1.新建一个动画,设置需要实现的形式 2.新建 ...
- Golang源码探索(三) GC的实现原理(转)
Golang从1.5开始引入了三色GC, 经过多次改进, 当前的1.9版本的GC停顿时间已经可以做到极短.停顿时间的减少意味着"最大响应时间"的缩短, 这也让go更适合编写网络服务 ...
- 2.表单与PHP
不管是一般的企业网站还是复杂的网络应用,都离不开数据的添加.通过PHP服务器端脚本语言,程序可以处理那些通过浏览器对Web应用进行数据调用或添加的请求. 回忆一下平常使用的网站数据输入功能,不管是We ...
- 让新版appium支持by_name定位
org.openqa.selenium.InvalidSelectorException: Locator Strategy 'name' is not supported for this sess ...
- appium初步认识
Appium简介: appium官网:http://appium.io/ 一.什么是appium Appium是一个开源.跨平台的测试框架,可以用来测试原生及混合的移动端应用.Appium支持IOS. ...
- java发送post请求,使用multipart/form-data的方式传递参数,可实现服务器间文件上传功能(转)
废话少说,直接上代码: /** * 测试上传图片 * */ public static void testUploadImage(){ String url = "http://xxxtes ...