int 和 integer的区别。用法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了int 和 integer的区别。用法相关的知识,希望对你有一定的参考价值。
详细点,,谢谢。
java.lang.Integer是一个类.对它的操作要通过类的方法int是JAVA缺省的8中基本数据类型之一.不是类的对象.
int是基本数据类型,Integer是对int进行了封装的一个类。
声明为int的变量不需要实例化,声明为Interger的变量需要实例化
int是基本类型,Integer是包装类,也就是类。
Integer 是比int 更高级的 数据类型 为什么java中使用int 而不像vb中那样使用Integer
int是面向机器底层的数值类型,是Primitive类型的数据类型,而Integer是int的Warpper类,是面向对象的即OOP的对象类型。int 一般只用在数值计算中,而Integer是用在Java的其它要使用对象的地方,比如Map的Key与Value,List与Set的Element若要保存数值信息都要把int包装成Integer对象使用。
Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。
原始类型 封装类
boolean Boolean
char Character
byte Byte
short Short
int Integer
long Long
float Float
double Double
引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。
int 一般做为数值参数就够了
integer 一般做类型转换的时候用的较 参考技术A int 是基本类型,直接存数值
integer是类,用一个引用指向这个对象,是int的扩展,定义了很多的转换方法 参考技术B int 是基本类型。。
Integer是引用类型。。
比如int a= 5;
Integer b = 5
对于a你只能用来做计算。。比如加减乘除。。
b你可以用来做很多事情。。
因为他是一个对象。。
他有很多方法。。
你可以像使用String对象那样使用它。。
int和Integer区别
1、int是java中的基本数据类型,而Integer是int的包装类
2、Integer变量必须实例化之后才能使用,而int则不需要
3、Integer实际是对象的引用,而int是直接存储数据值
4、Integer的默认值是null,int的默认值是0
实例:
package com.lsj.test; public class test { public static void main(String[] args) { Integer a=new Integer(100); Integer b=new Integer(100); Integer c=100; Integer i=100; Integer j=128; Integer k=128; int d=100; System.out.println(a==b); System.out.println(a==c); System.out.println(a==d);
System.out.println(c==d); System.out.println(c==i); System.out.println(j==k); } }
运行结果:
1.false
2.false
3.true
4.true
5.true
6.false
分析:1、Integer实际是对对象的引用,new生成两个Integer变量,由于内存地址不同,故始终不会相等,即结果为false;
2、不是通过new生成的Integer变量和通过new生成的Integer变量进行比较时,结果为false,因为非new生成的Integer变量会存放在常量池中,而通过new创建的Integer变量会存放在堆中。
3、int变量和Integer变量比较,实际上是值的比较,只要两个值相等,结果就为true。因为此时java会自动拆包装为int。
4、同上述3的分析一样
5、对于两个非new生成的Integer对象时,只要两个变量的值在-128和127区间内,且值相等的话,结果就为true。换句话说,只要两者值不在-128-127区间之内,结果均为false。
6、见上述5
以上是关于int 和 integer的区别。用法的主要内容,如果未能解决你的问题,请参考以下文章