自动装箱、拆箱问题

goodmrning 2008-04-17 07:06:19
jdk1.5以后支持自动装箱、拆箱,在我的程序中就是通不过。
如:
Integer [] arr=new [5];
for(int i=0;i<arr.length;i++)
{ arr[i]=i;}

会提示不能从int转为Integer.
jdk版本没有问题,不知道哪里出了问题?
...全文
166 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
看了看上面其他的回复,估计还有一种可能。

如果你是在 Eclipse 下做的话,可以看看:

Window → Preferences... → Java → Compiler

把 Compiler complance level 的级别调至 5.0 或以上再试试看。
anqini 2008-04-18
  • 打赏
  • 举报
回复
JAVA里用自动包装,和拆包这个词吧,你说的是C#的词!
goodmrning 2008-04-18
  • 打赏
  • 举报
回复
请教高手:
java中很多方法中参数都是Object类的,如何把基本类型的值传给方法?
比如:
Vector中的方法addElement(Object),如何把int类型的值传进去?
liuxiao000 2008-04-18
  • 打赏
  • 举报
回复
好深的东东啊,我没弄过
goodmrning 2008-04-18
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 anqini 的回复:]
JAVA里用自动包装,和拆包这个词吧,你说的是C#的词!
[/Quote]
java里面也有啊,你不会不知道吧!
goodmrning 2008-04-17
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 ROBINAPOLLO 的回复:]
楼主环境变量看下吧。。。。。。。最可能的原因了
[/Quote]
应该不会是这个问题吧,其它程序能运行.
ROBINAPOLLO 2008-04-17
  • 打赏
  • 举报
回复
楼主环境变量看下吧。。。。。。。最可能的原因了
goodmrning 2008-04-17
  • 打赏
  • 举报
回复
理论上是啊
但就是出了问题
大虾帮忙啊!
ROBINAPOLLO 2008-04-17
  • 打赏
  • 举报
回复
那应该没问题啊
goodmrning 2008-04-17
  • 打赏
  • 举报
回复
运行java -fullversion,显示结果:
1.6.0_05 -b13
ROBINAPOLLO 2008-04-17
  • 打赏
  • 举报
回复
楼主运行java -fullversion
查看JAVA版本
老紫竹 2008-04-17
  • 打赏
  • 举报
回复
你得用 JDK 5.0
goodmrning 2008-04-17
  • 打赏
  • 举报
回复
public void test()
{
Integer[] arr=new Integer[5]; 
for(int i=0;i <arr.length;i++)
{
arr[i]=i; //来到这里就过不了,还是说不能从int转为Integer
System.out.println(arr[i]);
}
int []newArr=new int [arr.length];
for(int i=0;i <arr.length;i++)
{
newArr[i]=arr[i];
System.out.println(newArr[i]);
}
}
public static void main(String args[])
{
(new TEST()).test();
}
ROBINAPOLLO 2008-04-17
  • 打赏
  • 举报
回复
Integer 是个对象,不赋值,是NULL吧,不像INT,,默认为0
ROBINAPOLLO 2008-04-17
  • 打赏
  • 举报
回复
public void test()
{
Integer[] arr=new Integer[5];
for(int i=0;i<arr.length;i++)
{
arr[i]=i;
System.out.println(arr[i]);
}
int []newArr=new int [arr.length];
for(int i=0;i<arr.length;i++)
{
newArr[i]=arr[i];
System.out.println(newArr[i]);
}
}
public static void main(String args[])
{
(new TEST()).test();
}




楼主,,你没赋值呢,,,得先对INTEGER[]赋值
goodmrning 2008-04-17
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 ROBINAPOLLO 的回复:]
public void test()
{
Integer[] arr=new Integer[5];
int []newArr=new int [arr.length];
for(int i=0;i <arr.length;i++)
{
newArr[i]=arr[i]; //就是这里出问题:说是不能从不能从Integer转为int
System.out.println(newArr[i]);
}
}
[/Quote]
ROBINAPOLLO 2008-04-17
  • 打赏
  • 举报
回复
在Java中,所有要处理的东西几乎都是对象 (Object)
ROBINAPOLLO 2008-04-17
  • 打赏
  • 举报
回复
public void test()
{
Integer[] arr=new Integer[5];
int []newArr=new int [arr.length];
for(int i=0;i<arr.length;i++)
{
newArr[i]=arr[i];
System.out.println(newArr[i]);
}
}
ooo19841080xinxin 2008-04-17
  • 打赏
  • 举报
回复
Integer [] arr=new [5];
goodmrning 2008-04-17
  • 打赏
  • 举报
回复
是不是只能装箱为Object类?
加载更多回复(4)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧