gpt4 book ai didi

java - 如何删除传递给 Java 方法的对象?

转载 作者:行者123 更新时间:2023-12-01 06:29:50 24 4
gpt4 key购买 nike

我知道 Java 通过引用传递对象,因此当对象作为参数传递到方法中时,方法内参数本地完成的任何操作都会对实际对象完成。

void main(){
String[] array1 = {"a","b","c"};
someMethod(array1);
print(array1.length);
}

void someMethod(String[] array){
/..code here../
array = null;
}

当尝试打印 array1.length 时,我希望得到一个空指针异常,因为我的方法将其设置为 null。然而这并没有发生。这有什么原因吗?

最佳答案

对象通过引用值传递(按值传递)而不仅仅是引用。

当您在 someMethod() 中将 null 设置为数组时,从技术上讲,它会将范围 someMethod 的数组设置为 null 不是 main 中的那个。

如果您还想将外部引用null,那么只需返回null,而不是分配null

我建议阅读此thread正确理解这个概念。

关于java - 如何删除传递给 Java 方法的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12591294/

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