回 帖 发 新 帖 刷新版面

主题:【速度!】问个简单问题,回答就给分。

一个简单问题,为什么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 楼

Integer是一个对象?    
楼主 你是理解错了吧   如果说Integer是一个对象   那么你在哪里申明了它

再说也没有用一个对象去定义一个数的说法
Integer i = 0;  
应该是int 吧

12 楼

to 我要飞飞飞:

You know nothing about Java Object. 
Please read a book before put garbage here.

Thanks!

13 楼

a+b 只能针对普通的类型,如int ,float等

而Integer是一个类类型,是不允许直接加上一个int类型的。

14 楼

[quote]a+b 只能针对普通的类型,如int ,float等

而Integer是一个类类型,是不允许直接加上一个int类型的。[/quote]

Please compile the code to see how wrong you are!

Thanks!

15 楼


sorry

16 楼

Great, You did it!!!
Thanks!

17 楼

private static void add(Integer i) {
这个函数是传值调用....知道么,传值哦,也就是传的是这个地址,,所以就不存在3楼的说法,说存到别的地方去了

18 楼

这个问题是形参和实参的问题。

我来回复

您尚未登录,请登录后再回复。点此登录或注册