我正在寻找一种在调用 if 的 else 时获取时间变量实例的方法,如下例所示,这样我就可以将这个时间传递到另一个方法中。
double time = getRunningTime();
...
if (..){
}
else{
*TAKE AN INSTANCE OF VARIABLE TIME AT THIS POINT TO PASS TO ANOTHER
METHOD*
}
但是,如果我现在将其传递给另一个方法
else{
methodToCall(time)
}
然后在其他方法中使用它,即
methodToCall(double time){
double timeMinusRunningTimeOfIfInPreviousMethod = getRunningTime() - time
....
}
可变时间仍然会变化,但我希望它保持不变。
谢谢, jack
最佳答案
根据您的评论,
Precisely. If i do that now the variable will still constantly change.
不,如果您现在这样做,时间
不会改变。事实上,在代码片段的第一行之后,time
永远不会改变。 time
是double
的值类型。它不保存对某些不断变化的对象的引用。
那么这里不断变化的是什么?大概是getRunningTime
的返回值。当您在不同时间调用该方法时,将返回不同的值。从名称来看,我猜它返回的是程序自某个时间点以来运行了多长时间。
因此,您可能想做这样的事情:
someMethod(getRunningTime());
或者,如果 getRunningTime
返回当前时间,并且您想测量 if 语句执行所需的时间,您可以这样做:
someMethod(getRunningTime() - time).
关于java - 满足条件时获取时间变量的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47567622/