在这段代码中,我们有一个用值初始化的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
答案 0 :(得分:3)
实际上你的标题和问题不匹配。
Java总是按值传递。这是原语的正确陈述。对象出现了混乱。
考虑这个例子(对象)
someObject = someOtherObject
此处,虽然将参考someOtherObject
分配给someObject
,但指定的值是参考。
现在我们引用另一个变量并指定一个新值。
因为a
和c
是一个原语,而不是一个对象,所以无论参考是什么。
当你这样做时
int c=a; // value of a copied to c
只有对象有引用。基元不是对象。