我有一個具有一些「計數器」字段的自定義對象。這個對象獲得這些字段在遞歸的函數中遞增。所以我需要在每次調用函數時重新創建對象,以便重置計數器字段,但如果函數處於遞歸調用中,則不會重新創建。合理?在遞歸調用中持續參考
目前,我通過重載方法來做到這一點,以便它不是true遞歸,而是我通過與計數器相同的對象,以便我的計數被持久化。
基本上,像下面是我現在在做什麼:
static Counter count(Object parent)
{
Counter newCounter = new Counter();
newCounter = count(parent, newCounter);
return newCounter;
}
static Counter count(Object parent, Counter currentCounter)
{
Object cur = new Object(parent);
if(cur.isChild())
Counter.child++;
else if(cur.isParent())
{
Counter.parent++;
count(cur, currentCounter);
}
return currentCounter;
}
有沒有更好的方式來做到這一點?或者我不需要重載的方法?哦,我做需要主要方法保持靜態,由於限制我不能輕易改變系統內的其他地方。
此代碼線程? – 2013-02-20 11:48:21