黑马程序员技术交流社区
标题:
银行调度int 和 Integer 的区别(已解决,谢谢大伙儿了!)
[打印本页]
作者:
马超
时间:
2012-5-24 16:11
标题:
银行调度int 和 Integer 的区别(已解决,谢谢大伙儿了!)
本帖最后由 依然小马哥 于 2012-5-24 16:44 编辑
package com.itcast.band;
import java.util.List;
import java.util.ArrayList;
public class NumberManager
{
private int LastNumber = 0;
private List<Integer> queueNumber = new ArrayList<Integer>();
/*用户取号:*/
public
Integer
generateNewNumber() //
在这里定义成int不可以吗?
{
/*把用户装到一个集合当中去*/
queueNumber.add(LastNumber);
return LastNumber;
}
/*
private List<Integer> queueNumber = new ArrayList<Integer>();
类型 List 不是通用的;不能使用参数 <Integer> 将它参数化
错误:我们上边List导入的应该是util名下的 就能搞定。
*/
/*获取用户的号码
在这里有一个小的知识点,就是我们如何获取到集合中的元素,我们通过remove()方法就能够获取到*/
/*在这里我有一个小问题: int 和 Integer 有什么区别哪?*/
public
Integer
fetchServiceNumber()
{
if(queueNumber.size()>0)
return (Integer)queueNumber.remove(0);
else
return null;
}
}
()
作者:
8161776
时间:
2012-5-24 16:32
*在这里我有一个小问题: int 和 Integer 有什么区别哪?*/
public Integer fetchServiceNumber()
{
if(queueNumber.size()>0)
return (Integer)queueNumber.remove(0);
else
return null;
}
复制代码
首先你要返回int的话就不能返回null了,就得返回-1或者其他的来证明没有,这样显然不太好,
更主要的还是ArrayList容器里面只能放Integer对象,不能储存基本数据类型,
就算你把int存进去了,那也是自动装箱的过程
作者:
小小企鹅
时间:
2012-5-24 16:34
方法可能返回空,如果为int,会提示类型不正确
public synchronized Integer fetchNumber(){
if(queueNumbers.size()>0){
return (Integer)queueNumbers.remove(0);
}else{
return null;
}
}
作者:
黄克帅
时间:
2012-5-24 16:39
int 是基本数据类型 Integer 是为int提供的一个封装类。为了方便使用 封装类提供了一些基本数据类型没有的方法,如valueOf() toString()。
集合只能装对象不能装基本数据类型。所以不能用int
java为每个基本数据类型提供了一个封装类 boolean Boolean,char Character,byte Byte,short Short,int Integer,long Long,float Float,double Double
作者:
黑马张健
时间:
2012-5-24 16:41
int是java提供的8种原始数据类型之一。Java为每个原始类型提供了封装类,Integer是java为int提供的封装类。int的默认值为0,而Integer的默认值为null,即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况。
Integer提供了多个与整数相关的操作方法,例如,将一个字符串转换成整数,Integer中还定义了表示整数的最大值和最小值的常量。
作者:
贾联国
时间:
2012-5-24 17:08
/*在这里我有一个小问题: int 和 Integer 有什么区别哪?*/
public Integer fetchServiceNumber()
{
if(queueNumber.size()>0)
return (Integer)queueNumber.remove(0);
else
return null;
}
至于是用int还是用Integer是看具体需要:
这个函数用什么返回值,需要看具体调用,由于张老师在后面是判断fetchServiceNumber返回为空就让窗口休息,所以这里需要函数的返回值可以空,另外此函数也可以返回数字,int不能返回空,那么只能用Integer。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2