2016-04-27 2 views
0

Я знаю, что это работает на C/C++, но каким-то образом я не найду способ в java для этого.Java - метод подсчета вызовов внутри метода

У меня около 50 методов, и я хочу подсчитать, сколько раз я их называл. Он будет работать, если я сделал 50 переменных вне метода, а внутри я просто увеличиваю их.

Но это путь к большим переменным. Есть ли способ справиться с этим с одной переменной внутри функции? Или с одной переменной вне методов.

Мне нужен только способ сделать это с помощью одной переменной.

У кого-нибудь есть идея?

+0

массивов к вам на помощь. – Hackerdarshi

+3

Использовать 'HashMap '? – flakes

ответ

0

Decalare это, где его доступным для доступа с.

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

Тогда в каждом методе сделать что-то вроде:

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

не имеют IDE сейчас, поэтому, пожалуйста, игнорируйте любую опечатку, если она есть. – Saif

1

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

String это имя метода (или что вы хотите, чтобы это было) и Integer это счетчик.

Просто объявить его вне ваших функций, и увеличивает значение каждое в Map, когда вы ударяете ваш метод (в соответствии с ключом, который является именем методы)

Смежные вопросы