일부 "카운터"필드가있는 사용자 지정 개체가 있습니다. 이 객체는 재귀 적으로 호출 될 함수 내에서 필드를 증가시킵니다. 그래서 함수가 호출 될 때마다 새로 만들어 져서 카운터 필드가 리셋되도록 객체가 필요하지만, 함수가 재귀 호출에 있다면 새로 생성되지 않습니다. 이해가 되니?재귀 호출 전체에서 참조 유지
현재이 방법은 오버플로하여 참재귀가 아니며 카운터 대신 동일한 개체를 전달하므로 카운트가 유지됩니다.
기본적으로 다음과 같은 것을 내가 지금 뭘하는지입니다 :이 할 수있는 더 좋은 방법이
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;
}
있습니까? 또는 과부하가 필요하지 않은 방법? 아, 그리고 내가 할 내가 쉽게 시스템 내에서 다른 곳으로 변경할 수없는 감금으로 인해 정적을 유지하는 주요 방법이 필요합니까.
나사 식 :를
또는 멀티 스레딩에 대한
(단일 스레드를 가정)? –