java中int和Integer有什么区别,哪个在公司中比较常用?

问题描述

java中int和Integer有什么区别,哪个在公司中比较常用?

java中int和Integer有什么区别,什么时候用int,什么时候用后者,哪个在公司中比较常用?

解决方案

int 是基本数据类型(面向过程留下的痕迹,不过是对Java的有益补充)
Integer 是一个类,是int的扩展,定义了很多的转换方法
类似的还有:float Float、double Double、string String等 。
举个例子:当需要往ArrayList,HashMap中放东西时,像int,double这种内建类型是放不进去的,因为容器都是装object的,这是就需要这些内建类型的外覆类了。
Java中每种内建类型都有相应的外覆类。
Java中int和Integer关系是比较微妙的。关系如下:
1、int是基本的数据类型;
2、Integer是int的封装类;
3、int和Integer都可以表示某一个数值;
4、int和Integer不能够互用,因为他们两种不同的数据类型;

1.从定义上来看
int 是基本类型,直接存数值(类似的还有float、double、String、char)
Integer是对象,用一个引用指向这个对象(类似的有Float、Double、String)
2.从复杂度来看,Java 中的数据类型分为基本数据类型和复杂数据类型
int 是前者;Integer 是后者(也就是一个类)
3.初始化的方式不同
int i =1;
Integer i= new Integer(1);//integer 是一个类
int 是基本数据类型(面向过程留下的痕迹,不过是对java的有益补充);Integer 是一个类,是int的扩展,定义了很多的转换方法
注意:类似的还有:float Float;double Double;String等,其中String较为特殊,基本类型和复杂类似关键字相同。
例如,当需要往ArrayList,HashMap中放东西时,像int,double这种内建类型是放不进去的,因为容器都是装 object的,这是就需要这些内建类型的外覆类了。Java中每种内建类型都有相应的外覆类。
Java中int和Integer关系是比较微妙的。关系如下:
int是基本的数据类型;
Integer是int的封装类;
int和Integer都可以表示某一个数值;
int和Integer不能够互用,因为他们两种不同的数据类型;
举例说明
ArrayList A_List=new ArrayList();
int n=40;
Integer In=new Integer(n);
A_List.add(n);//error
A_List.add(In);//ok

解决方案二:

一个是基础类型,一个是封装类型。封装类型本质可以作为对象使用的,值可能为null的。
二者间可以相互赋值,编译器会自动进行装箱和拆箱操作的。例如:Integer val=1,这个就存在装箱操作,将基础类型封装成对象。int a=new Integer(1)就是自动拆箱操作将对象值赋给基础变量。
项目开发中通常是用封装类型Integer较多的,在数据映射中数据库的数值类型都是用封装类型的。

解决方案三:

Integer是int的包装类,它提供了更多的方法来操作整型数据,比如将整型数据转化为别的数据类型等,而要操作int就比较麻烦,需要借助其他的类或者方法的。
说白了,int 就是一个人,Integer就是这个人被武装起来了,身上扛着火箭筒,手里拿着关公大刀;如果这个人需要杀敌人,int就必须借助别人的力量,而Integer就
需要用自己的火箭筒或者关公大刀就可以了。
一般如果你的数据不需要频繁转换的话用int就行了;如果需要转换用Integer也行用int也行,只要你觉得方便就行

解决方案四:

java中int和Integer什么区别
java中int和Integer什么区别

解决方案五:

一个是基础类型,一个是封装类型。封装类型本质可以作为对象使用的,值可能为null的。
二者间可以相互赋值,编译器会自动进行装箱和拆箱操作的。例如:Integer val=1,这个就存在装箱操作,将基础类型封装成对象。int a=new Integer(1)就是自动拆箱操作将对象值赋给基础变量。
项目开发中通常是用封装类型Integer较多的,在数据映射中数据库的数值类型都是用封装类型的。

时间: 2024-11-01 10:11:46

java中int和Integer有什么区别,哪个在公司中比较常用?的相关文章

MySQL中int和integer的区别

环境: MySQLSever 5.1 问题:MySQL 中int和integer什么区别 答案:没有区别 分析: · INT[(M)][UNSIGNED] [ZEROFILL] 普通大小的整数.带符号的范围是- 2147483648到2147483647.无符号的范围是0到4294967295. ·INTEGER[(M)] [UNSIGNED] [ZEROFILL] 这是INT的同义词.使用两个名字只是为了简化和方便,没有本质上的区别. 查看本栏目更多精彩内容:http://www.biance

Java中关于int和Integer的区别详解_java

1.Java 中的数据类型分为基本数据类型和复杂数据类型 int是前者,integer 是后者(也就是一个类). 2.初始化时 复制代码 代码如下: int i = 1;  Integer i = new Integer(1);   // (要把integer 当做一个类看) int 是基本数据类型(面向过程留下的痕迹,不过是对Java的有益补充) Integer 是一个类,是int的扩展,定义了很多的转换方法 类似的还有:float Float.double Double.string Str

PHP中date与gmdate有什么区别?

  一.PHP中date与gmdate有什么区别? PHP中的时间有2个格式化函数:date()和gmdate(),在官方的文档中的描述为: date - 格式化一个本地时间/日期 gmdate - 格式化一个 GMT/UTC 日期/时间,返回的是格林威治标准时(GMT). 举个例子,我们现在所在的时区是+8,那么服务器运行以下脚本返回的时间应该是这样的: 当前时间假定是2007-03-14 12:15:27 echo date('Y-m-d H:i:s', time()); 输出为:2007-

jquery中的$().each和$.each的区别

jquery中的$().each和$.each的区别 注意:jquery中的$().each和$.each的区别,前者只能遍历数组,后者可以遍历数组和对象 备注:sinobook项目中地名本体相关地按类型分类,后台包的是一个map(key是关系类型,value是一个list),前台可用上述方式输出 输出 var map = {  地名: ["北京","天津","上海"],  民族: ["汉族","藏族",&

android中handler和bundle有什么区别和联系

问题描述 android中handler和bundle有什么区别和联系 android中handler和bundle有什么区别和联系 都是用来传递消息吗都是信息的载体吗 解决方案 http://www.cnblogs.com/nuistlr/archive/2012/08/31/2665107.html handler提供了回调,接收返回,bundle打包发出信息.

java中 Integer a=5;和Integer a = new Integer(5);的区别?请高手赐教。

问题描述 java中 Integer a=5;和Integer a = new Integer(5);的区别?请高手赐教. /*首先要知道的常识:1.关系操作符==:计算""操作数""的 值 之间的关系,结果为true或者false;这操作数指的是所有的基本数据类型以及所有对象;2.equals():是Object类中的方法,equals()作用和==相同,但是不适用于基本数据类型:3.自己定义的类可以覆盖Object类中的equals(); *///下面来看一个例

java中成员变量与局部变量的区别

成员变量与局部变量的区别 1.在类中的位置不同 成员变量:在类中方法外面 局部变量:在方法或者代码块中,或者方法的声明上(即在参数列表中) 2.在内存中的位置不同,可以看看 Java程序内存的简单分析 见 接下来我们再通过一段程序来直观感受下程序运行时JVM的内存情况, package demo; public class Student {     private String name;     private int age;     public void study() {      

java中public class与class的区别详解

以下是对java中public class与class的区别进行了分析介绍,需要的朋友可以过来参考下   在编写类的时候可以使用两种方式定义类:public class定义类: class定义类:如果一个类声明的时候使用了public class进行了声明,则类名称必须与文件名称完全一致.范例:定义一个类(文件名称为:Hello.java) 复制代码 代码如下: public class HelloDemo{    //声明一个类,类名称的命名规范:所有单词的首字母大写     public s

java语法-Java中迭代和循环有什么区别和联系

问题描述 Java中迭代和循环有什么区别和联系 Java中迭代和循环有什么区别和联系 都是什么条件语句有循环和迭代啊 解决方案 迭代是通过循环实现的,但是循环不一定是迭代. 迭代一般是指对集合的遍历. 解决方案二: 另外迭代也可以不用循环,比如如下代码: void showdata(RecordSet rs) { if (!rs.hasNext()) { rs.moveNext(); print(rs.getInt(0)); showdata(rs); } } 这段代码用了递归,就没有用循环 解