我在Java中遇到了一個奇怪的問題。我可以解決它,但解決方案似乎效率低下。在類之間共享Java變量的最佳方式
我有一個類,簡化是
class Zot
{
double edges[];
}
的問題是,在許多情況下我想實例A和實例B到共享邊緣實例中的一個。換句話說,實例A可以分配邊緣[2]並且希望實例B共享邊緣[2]。這很簡單,我可以將實例B設置爲指向實例的A邊[2]。但我怎樣纔能有效地做到這一點?如果我在實例A中分配了邊[],那麼我可以簡單地將B的實例分配給A,但通常我只想在A中分配一個邊(例如edge [2]),然後在B中分配它。但是,在Java中,不能(據我所知)分配一個數組的單個成員(就像在C++中一樣)。理想情況下,我只想分配有用的成員並分配它。當然,我可以分配所有4個成員,分配我需要的成員,然後將不需要的成員設置爲空,並讓GC清理它,但是如果有數百或數千個似乎笨拙的實例。
對此提出建議?
當你說「share edge [2]」你是指共享兩個元素的數組,還是共享所述數組的元素2? –
幾乎可以肯定,一個更大的對象將保持圖的邊緣以及與這些邊對應的邊。 –