2016-04-27 23 views
0

Ich weiß, dass dies in C/C++ funktioniert, aber irgendwie werde ich keinen Weg in Java finden, um dies zum Laufen zu bringen.Java - Count Methodenaufrufe innerhalb einer Methode

Ich habe etwa 50 Methoden und ich möchte zählen, wie oft ich sie angerufen habe. Es würde funktionieren, wenn ich 50 Variablen außerhalb der Methode machen würde und innerhalb von I sie einfach inkrementiere.

Aber das sind zu viele Variablen. Gibt es eine Möglichkeit, dies mit einer Variablen innerhalb der Funktion zu behandeln? Oder mit einer Variablen außerhalb der Methoden.

Ich brauche nur eine Möglichkeit, dies mit einer Variablen zu tun.

Hat jemand eine Idee?

+0

Arrays zu Ihrer Rettung. – Hackerdarshi

+3

Verwenden Sie eine 'HashMap '? – flakes

Antwort

0

Decalare dies, wo seine aus den Zugriff zur Verfügung.

Map<String, Integer> callCount=new HashMap<String,Integer>(); 

Dann In jeder Methode so etwas wie:

public void anyMethod() 
{ 
    Integer count=callCount.get("anyMethod"); 

    if(count==null) 
    { 
     count= new Integer(0); 
    } 

    count++; 
    callCount.put("anyMethod",count); 

    /** 
    other things that your method do...... 
    **/ 
} 
+0

haben keine IDE, also ignorieren Sie bitte jeden Tippfehler. – Saif

1

Map<String,Integer> counters = new HashMap<>();

String ist der Methodenname (oder was auch immer wollen, dass es sein) und Integer ist der Zähler.

erklären Sie es einfach außerhalb Ihrer Funktionen und jeder Wert in der Map erhöht werden, wenn Sie Ihre Methode schlagen (nach dem Schlüssel, der den Namen der Methode ist)