gpt4 book ai didi

java - 有没有办法使用 Java 从对象本身内部销毁对象?

转载 作者:行者123 更新时间:2023-12-01 14:43:04 24 4
gpt4 key购买 nike

我想从对象本身内部杀死/删除一个对象。

我需要的是,对此对象的引用为空,但我不想将句柄传递给容器。这是一个小代码示例:

class Obj {
void run(){
if(true)
kill();
}
}
class A{
Obj o;
void main(){
o.run();
}
}

运行o.run()后,我想o == null。这可能吗?

最佳答案

您不能按照您的意愿从对象本身内部删除对对象的引用。从您在范围内实际拥有要取消的引用的位置开始,您可以执行以下操作。

一旦 run() 完成,将引用清空:

编辑根据反馈...

class Obj {
private boolean killMe = false;
void run(){
if(someConditionHere) {
killMe = true;
}
}
public boolean isKillable() { return killMe; }
}

class A{
Obj o;
void main(){
o.run();
if(o.isKillable()) {
o = null;
}
}
}

关于java - 有没有办法使用 Java 从对象本身内部销毁对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15748412/

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