gpt4 book ai didi

java - Java中如何使用引用?

转载 作者:行者123 更新时间:2023-12-02 09:18:53 25 4
gpt4 key购买 nike

我想在Java中使用引用,但我不知道如何!例如,在 C++ 中我们这样写:

void sum(int& x)
{
...
}

但是在Java中&符号是编译器错误!请帮助我理解 Java 中的引用文献。

最佳答案

默认情况下,对象通过引用传递 对象通过引用访问,但无法创建对原始值(byte、short、int、长的)。您要么必须创建一个对象来包装整数,要么使用单个元素数组。

public void sum(int[] i){
i[0] = ...;
}

public void sum(MyInt i){
i.value = ...;
}
public class MyInt{
public int value;
}

对于您的示例,类似以下内容可能有效

public int sum(int v){
return ...;
}

public int sum(){
return ...;
}

更新:

对象引用的附加/更好描述:

Java 对象始终通过引用来访问。与原始类型一样,此引用按值传递(例如复制)。由于程序员在 java 中可以访问的所有内容都是通过复制来传递的(引用、基元),并且无法创建对基元类型的引用,因此对方法参数(引用、基元)的任何修改只会影响方法内的本地副本。方法。可以在方法内修改对象,因为引用的两个副本(本地和其他)仍然指向同一个对象实例。

示例:

修改方法内的原语,这只影响 i 的内部副本,而不影响传递的值。

void primitive(int i){
i = 0;
}

修改方法内的引用,这只影响 ref 的内部副本,而不影响传递的值。

 void reference(Object ref){
ref = new Object();//points to new Object() only within this method
}

修改对象,全局可见

void object(List l){
l.add(new Object());//modifies the object instead of the reference
}

上面的数组和MyInt都是基于对象的修改。

关于java - Java中如何使用引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4712798/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com