L'ho avvicinata al caso dell'eliminazione di qualsiasi oggetto usuale, ovvero, semplicemente rendendo il riferimento nullo e lasciando che Garbage Collector faccia il suo lavoro.In java, come è possibile distruggere un'istanza di una classe da un metodo all'interno della classe
Tuttavia per equiparare a null all'interno di una classe, l'unico riferimento all'oggetto è "questo". Così è valido il codice valido per la seguente classe:
class A{
public A(){
//Init
}
public void method destruct(){
if(someCondition){
this=null; //Is this statement valid? Why/Why not?
}
}
}
Se "questo" è * veramente * l'unico riferimento all'oggetto, il gioco è fatto: è idoneo per GC non appena lasci il metodo e alla fine verrà rimosso. –
Il numero di upvotes è un po 'distruttivo. :] –
... che non sarà @ Joachim, in quanto ci sarebbe stato un chiamante. – lotsoffreetime