gpt4 book ai didi

java - 如何观察变量的变化

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:00:27 24 4
gpt4 key购买 nike

我想知道是否有任何方法可以让我在程序运行时观察变量值的变化。当然不使用调试器,我想以编程方式。例如:

class A
{
public static int valueToBeWatched;
}

所以在运行时,如果我项目中任何类的任何方法修改了这个值,MyValueChangeListner 事件应该被调用。

最佳答案

你不能。 Java 本身没有内置修改修改 Hook 。显然,您可以进行轮询。但那样就不会“直播”了。

AspectJ 可能允许这样的想法,但我不确定它是否适用于原始变量,或者仅当您使用 getter 和 setter 时才适用。

干净的 Java 方式是使变量 private 并使用 getter 和 setter。

private valueToBeWatched;

public void setValue(int newval) {
valueToBeWatched = newval;
notifyWatchers();
}

public int getValue() {
return valueToBeWatched;
}

附带说明,尽可能避免static。特别是 public 但不是 final

关于java - 如何观察变量的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12386604/

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