计算不同方法的时间执行

时间:2014-04-01 11:29:54

标签: java oop time

我有这样的事情:

in main()
getinitialtime()
create object(constructor generates random values)

method1 does something with that object's class members, let's say addition of 2 numbers
gettime1()
method2 does something else with those members, let's say substraction
gettime2()

我想计算method1method2单独使用的时间。但我不能,因为声明另一个对象会改变类成员,因为它们是随机生成的。我知道我可以只计算gettime2-getinitialtime-gettime1gettime1-getinitialtime,但是还有另一种方法吗?

1 个答案:

答案 0 :(得分:1)

我看到三种可能的解决方案:

  1. 如果使用java.util.Random随机生成内部属性并使用相同的seed(但两个不同的Random个对象),则生成的序列将是相同的,因此对象也是如此。
  2. 您可以提供一些方法将值从一个对象复制到另一个对象,或者只是覆盖clone()并创建第一个对象的克隆。
  3. 您可以提供另一个从外部获取值的构造函数,以便您可以根据需要生成它们并将它们注入到两个对象中。