我正在檢索,並從外部源複製一個相當大的文件夾對象集合。它們都有一個文件夾ID和一個父文件夾ID,但不是以樹結構的形式出現的。在檢索它們之後,我將它們組織到樹節點對象中,並使用頂級根目錄。但是,一個或多個文件夾會創建一個循環引用,並且我無法確定如何查明位置。我如何在大量對象中精確定位循環對象引用?
Java在創建循環引用時不會引發任何錯誤。在將它發送到Web應用程序的客戶端之前,當我嘗試將其編碼爲json格式時,該錯誤會出現一個stackoverflow錯誤。因爲錯誤是我第一次看到的,所以我根本看不出哪個對象是錯誤的原因。
在這個特殊的問題中,我失去了一個策略。是否有任何標準化的或好的方法來識別循環對象引用,就像我的情況那樣?
一個文件夾可以有多個父項嗎?你談論文件夾對象。它是父子關係或文件夾對象的集合嗎? – Persixty
只有一位家長。我發現錯誤是在我自己的精煉代碼中,而不是在對象引用中。 – KjetilNordin
我想知道。如果每個節點只有一個父節點,我不確定你是如何構建對象樹的。除非找到所有的根節點,然後繼續添加父節點已經實例化的節點,否則很難做到這一點。如果存在循環,則會在樹中沒有父節點的節點結束。那是因爲他們形成循環。循環幾乎彈出算法的結尾。 – Persixty