2009-06-12 127 views
2

在Java中有快速的方法來獲得巢/遞進級別?Java堆棧/巢數

我正在寫一個函數來創建組及其成員的列表。成員也可以是組。我們最終可能會得到一組循環的組/成員。

我想停止在一些任意級別。

我知道我可以在更高範圍內保留一個變量或傳遞一個遞增的參數,但是我想知道是否有任何Java立即可用的堆棧級別信息。

我想即使有,訣竅就是要知道你想從哪個層次開始計算。所以,這一點可能是沒有意義的,但是如果有任何快速信息,我仍然感興趣。

回答

0

java.lang.Throwable確實有方法getStackTrace()它給你一個StackTraceElements的數組

1

你應該解決直接檢測週期的問題,而不是通過任意的嵌套深度限制。保留已經訪問過的一組節點,並檢查當前節點是否在那裏。