Integer和new Integer
|
1
2
3
4
5
6
7
8
9
10
|
public static void main(String[] args) { Integer i1=10; Integer i2=10; Integer i3=new Integer(10); Integer i4=128; Integer i5=128; System.out.println(i1==i2);//true System.out.println(i1==i3);//false System.out.println(i4==i5);//false} |
Integer x = 10;//自动装箱,如果在-128到127之间,则值存在常量池中
Integer y = new Integer(10);//普通的堆中的对象
Java自动装箱和拆箱定义
Java1.5中引入了自动装箱和拆箱机制:
(1)自动装箱:把基本类型用它们对应的引用类型包装起来,使它们具有对象的特质,可以调用toString()、hashCode()、getClass()、equals()等方法。
如下:
Integer a=3;//这是自动装箱
其实编译器调用的是static Integer valueOf(int i)这个方法,valueOf(int i)返回一个表示指定int值的Integer对象,那么就变成这样:
Integer a=3; => Integer a=Integer.valueOf(3);
(2)拆箱:跟自动装箱的方向相反,将Integer及Double这样的引用类型的对象重新简化为基本类型的数据。
如下:
int i = new Integer(2);//这是拆箱
编译器内部会调用int intValue()返回该Integer对象的int值
注意:自动装箱和拆箱是由编译器来完成的,编译器会在编译期根据语法决定是否进行装箱和拆箱动作。
Integer和new Integer的更多相关文章
- Integer.parseInt()和Integer.valueOf()有什么区别
jdk的源代码的时候注意到Integer.parseInt(s) 和 Integer.valueOf(s)的具体代码的实现有所区别: Java代码 public static int parseInt ...
- Integer.valueOf与Integer.parseInt的小疑惑
参考博客: http://www.importnew.com/9162.html 测试代码如下: public class Main { /** * 备注:结果跟你的JDK版本有关系: * * 我的是 ...
- new Integer(1)和Integer.valueOf(1)的区别
java.lang包中的Integer类是我们比较常用的类,比如以下代码: Integer a=new Integer(1) Integer a=Integer.valueOf(1); 两个都是得到一 ...
- Integer、new Integer() 和 int 比较的面试题
基本概念的区分: 1.Integer 是 int 的包装类,int 则是 java 的一种基本数据类型2.Integer 变量必须实例化后才能使用,而int变量不需要3.Integer 实际是对象的引 ...
- java Integer.valueOf 和 Integer.parseInt 和 new Integer区别及注意事项
先看一下下面的结果 1.System.out.println(127==127); //true , int type compare 2.System.out.println(128==128); ...
- Integer.valueof 和 Integer.parseInt
System.out.println(Integer.valueOf("127")==Integer.valueOf("127")); System.out.p ...
- 区分Integer.getInteger和Integer.valueOf、Integer.parseInt() 的使用方法
Integer类有两个看起来很类似的静态方法,一个是Integer.getInteger(String),另外一个是Integer.valueOf(String).如果只看方法名称的话,很容易将这两个 ...
- Java中Integer.parseInt和Integer.valueOf,你还傻傻分不清吗?
在Java的Integer类中,有Integer.valueOf(String s)和Integer.parseInt(String s)两个静态方法,他们都能够将字符串转换为整型,他们到底有什么区别 ...
- 一篇文章搞明白Integer、new Integer() 和 int 的概念与区别
基本概念的区分 1.Integer 是 int 的包装类,int 则是 java 的一种基本数据类型 2.Integer 变量必须实例化后才能使用,而int变量不需要 3.Integer 实际是对象的 ...
随机推荐
- 本地数据库导入线上服务器的mongodb中
更改默认端口 sudo vi /etc/mongod.conf 进入conf文件,修改port值为19999保存并退出. 重启mongodb sudo service mongod restart 进 ...
- java程序连接hive数据库遇到的问题
今天,打算学习一下用hadoop做后台,搭建一个网站,首先第一步便是在本机的eclipse中连接到虚拟机上的hive中,原本以为很简单,但是过程很是艰难.特意做总结 首先hive的版本问题就是一个很大 ...
- commons-pool2
转载请注明源出处:http://www.cnblogs.com/lighten/p/7375611.html 1.前言 本章介绍一下常用基础Jar包commons-pools2,最近使用到了thrif ...
- windows 64位 下 安装 tomcat
tomcat 版本 windows 64位 .zip apache-tomcat-7.0.42.zip 注意: 1. 安装目录不得有 空格 或 中文字符 2. 然后,在系统环境变量下,新建一个变量: ...
- 全网最详细使用Scrapy时遇到0: UserWarning: You do not have a working installation of the service_identity module: 'cannot import name 'opentype''. Please install it from ..的问题解决(图文详解)
不多说,直接上干货! 但是在运行爬虫程序的时候报错了,如下: D:\Code\PycharmProfessionalCode\study\python_spider\30HoursGetWebCraw ...
- 软件魔方制作系统启动盘并安装win8系统
不多说,直接上干货! 推荐软件:软件魔方 http://mofang.ruanmei.com/ 这里,我想说的是,这个软件来制作系统盘,是真的方便和好处多多.具体我不多说,本人也是用过其他的如大白菜等 ...
- nlp 总结 分词,词义消歧,词性标注,命名体识别,依存句法分析,语义角色标注
分词 中文分词 (Word Segmentation, WS) 指的是将汉字序列切分成词序列. 因为在汉语中,词是承载语义的最基本的单元.分词是信息检索.文本分类.情感分析等多项中文自然语言处理任务的 ...
- Mahout实战---运行第一个推荐引擎
创建输入 创建intro.csv文件,内容如下 1,101,5.0 1,102,3.0 1,103,2.5 2,101,2.0 2,102,2.5 2,103,5.0 2,104,2.0 3,101, ...
- 面试题-----求单链表的倒数第k个节点
#include <iostream> using namespace std; struct node{ int value; struct node *next; }; struct ...
- [笔记] Python 图片转字符画
一.介绍 用Python 代码完成图片转字符画 二.python 环境 Python 3.6.6 pillow 5.1.0 Python 图像处理库, 需要另外安装 三.原理 gray = 0.21 ...