2017-08-11 88 views
-2

我使用java的aspectJ來運行一些代碼。我想獲得一個方法調用的增量計數。所以我在我的代碼中使用了count++。當我得到我的測試代碼的結果,它顯示爲什麼增量計數從0開始而不是從1開始?

0 
1 
2 

我期待看到12,但不是0。任何想法爲什麼我第一次得到0。我怎樣才能阻止0出現?

這裏是我的代碼:

public aspect TrackMoneyOwed{ 
    private static int calcCallCount=0; 

    pointcut calculatePriceCall(): 
     call(* *.calculatePrice()); 

    after(): calculatePriceCall(){ 
     System.out.println(calcCallCount++);  
    } 
} 

我在編碼真正的新。所以我會很感激一些幫助。謝謝!

+1

哪裏是「一些代碼」? – soorapadman

+0

因爲你在增加之前顯示,也許?很難說,沒有澤碼... – AntonH

+0

公衆方面TrackMoneyOwed {私人靜態詮釋calcCallCount = 0; /*私人雙人牌照; */ pointcut calculatePriceCall(): call(* * .calculatePrice()); ():calculatePriceCall(){ System.out.println(calcCallCount ++); } } – Sami

回答

1
System.out.println(calcCallCount++); 

首先打印calCallCount然後增加它。使用System.out.println(++calcCallCount);先增量然後打印。

i++++i之間的區別是,i++增量i一旦被讀取,右前++i增量被讀取。 i++稱爲後增量,++i稱爲預增量。

相關問題