0

在这段代码中,我们有一个 int,我们用一个值进行了初始化。现在我们将此引用另一个变量并分配一个新值。但这应该反映在其他变量中。但事实并非如此。这个 java 引用是如何按值传递的。字符串是不可变的,但这是如何在整数中发生的

public class Confusedwithintegerandstrings 
{

public static void main(String[] args) 
{
    
    int a=10;
    int c=a;
    System.out.println(c);
    a=20;
    System.out.println(a);
    System.out.println(c);
    
}

}

这是 O/P

10

20

10

4

1 回答 1

3

实际上你的标题和问题不匹配。

Java 总是按值传递。这是原语的正确陈述。Object 的困惑就在这里。

考虑这个例子(对象)

someObject = someOtherObject

这里在分配引用时someOtherObject 分配给 someObject并且分配的值是引用。

现在我们将此引用另一个变量并分配一个新值。

因为aandc是一个原始的而不是一个对象,所以没有参考。

当你这样做时

 int c=a;  // value of a copied to c

只有对象有引用。基元不是对象。

可能会有所帮助:Java 是“按引用传递”还是“按值传递”?

于 2013-12-07T11:49:03.837 回答