2017-08-11 94 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称为预增量。