主题:【速度!】问个简单问题,回答就给分。
zhouxin0706
[专家分:160] 发布于 2007-10-19 20:45:00
一个简单问题,为什么Integer的值不能被改变?
Integer是一个对象,应该是传的地址,但是为什么不能改?
public class Test {
private static void add(Integer i) {
i += 1;
}
public static void main(String[] args) {
Integer i = 0;
add(i);
System.out.print(i);
}
}
回复列表 (共18个回复)
11 楼
我要飞飞飞 [专家分:180] 发布于 2007-10-22 21:23:00
Integer是一个对象?
楼主 你是理解错了吧 如果说Integer是一个对象 那么你在哪里申明了它
再说也没有用一个对象去定义一个数的说法
Integer i = 0;
应该是int 吧
12 楼
justforfun626 [专家分:18460] 发布于 2007-10-23 00:16:00
to 我要飞飞飞:
You know nothing about Java Object.
Please read a book before put garbage here.
Thanks!
13 楼
major361 [专家分:280] 发布于 2007-10-23 08:33:00
a+b 只能针对普通的类型,如int ,float等
而Integer是一个类类型,是不允许直接加上一个int类型的。
14 楼
justforfun626 [专家分:18460] 发布于 2007-10-23 13:21:00
[quote]a+b 只能针对普通的类型,如int ,float等
而Integer是一个类类型,是不允许直接加上一个int类型的。[/quote]
Please compile the code to see how wrong you are!
Thanks!
15 楼
major361 [专家分:280] 发布于 2007-10-25 08:44:00
sorry
16 楼
justforfun626 [专家分:18460] 发布于 2007-10-25 09:51:00
Great, You did it!!!
Thanks!
17 楼
七夜飘雪 [专家分:500] 发布于 2007-10-26 16:46:00
private static void add(Integer i) {
这个函数是传值调用....知道么,传值哦,也就是传的是这个地址,,所以就不存在3楼的说法,说存到别的地方去了
18 楼
wensan [专家分:180] 发布于 2007-10-30 17:26:00
这个问题是形参和实参的问题。
我来回复