2014-04-01 36 views
1

我有這樣的事情:不同的方法計算時間執行

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使用sepparately。但是我不能這樣做,因爲聲明另一個對象會改變類成員,因爲它們是隨機生成的。我知道我只能計算gettime2-getinitialtime-gettime1gettime1-getinitialtime,但是沒有其他辦法嗎?

回答

1

我看到三個可能的解決方案:

  1. 如果用java.util.Random並使用相同seed(但兩個不同Random對象)產生的內部屬性,隨機,然後將所生成的序列將是相同的,所以對象。
  2. 您可以提供一些方法將值從一個對象複製到另一個對象,或者只是覆蓋clone()並創建第一個對象的克隆。
  3. 您可以提供另一個構造函數,它接受來自外部的值,以便您可以根據需要生成它們並將它們注入到兩個對象中。
+1

第2號是我一直在尋找,謝謝。 3也可以工作。 –