I nesne için benzersiz (ama başka şekilde anlamsız) tamsayıdır atama olarak, kendi içinde bir IdentityHashMap<Object, Integer>
sahip tahmin. Bu tutulma hata ayıklayıcısına dahil olmalı (nesnelerin sahip olduğu özel bir kimlik değil), buna nasıl ulaşacağınızı mı soruyorsunuz?
Düzenleme: I (ben de Tutulma usta değilim unutmayın) böyle bir kesme noktası kurarsınız:
- Ben bir başlangıç kesme noktası olurdu (biri gibi ekran görüntüsü almak için kullanılan) ve ilgilendiğim nesnenin
System.identityHashCode(object)
'unu yazdırın.
- Sonra koşul
System.identityHashCode(object) == <whatever number you saw at the previous step>
kullanarak bir kesme noktası yaratacak. Bunun yanlış nesnede durması çok nadir olurdu.
Yoksa içine ilgilenen nesne kullanabilirsiniz uygun toString()
temsilini varsa, bunun yerine System.identityHashCode(object)
o deneyebilirsiniz. Her durumda, iç nesne kimliğini tutmaya, ancak nesnenin kendisinden türeyebileceğiniz bir "id" (veya neredeyse) yakalamaya gerek yoktur.
Genellikle - hata ayıklama uygulamasıdır ve işlem sırasında birkaç kez nesneler hakkında bilgi toplamak istiyorum - ara noktasında durmak ve işlevler aracılığıyla hangi nesnenin yoluna dair bilgi almak için ... – Gorbush
+1 Bu doğrudur, sayıların, Eclipse hata ayıklayıcısı tarafından dahili olarak ayrılması ve izlenmesi, gerçek JVM nesne tanımlayıcılarından daha kolay okunması ve tanınması gibi görünmektedir. – skaffman
Ben de onlar http://download.oracle.com/docs/cd/E17409_01/javase/6/docs/jdk/api/jpda/jdi/com/sun/jdi/ObjectReference.html#uniqueID%28 gelen düşünüyorum Eclipse hata ayıklayıcı tarafından% 29 uygulama gerçekten. – Redlab