2011-10-05 55 views
0

在onDestroy方法中,什麼是正確的方式來確定一個對象在嘗試關閉/關閉/ etc之前是否被實際初始化了。關閉和關閉onDestroy中的對象的最佳方法

例如,哪個更好:

protected void onDestroy() 
{ 
    if(tts != null) 
    { 
     tts.shutdown(); 
    } 

    if(dbWord != null) 
    { 
     dbWord.close(); 
    } 

    super.onDestroy(); 
} 

或本:

protected void onDestroy() 
{ 
    if(tts instanceof null) 
    { 
     tts.shutdown(); 
    } 

    if(dbWord instanceof TextToSpeech) 
    { 
     dbWord.close(); 
    } 

    super.onDestroy(); 
} 

回答

2

使用!=而不是instanceOf來檢查變量是否被初始化。在這種情況下,instanceOf會執行其他類型的檢查。

1

使用!=,不要使用instanceOf。當你聲明一個對象時,它已經是一個類的實例,即使它沒有被初始化,當然是NULL。
您的第一個是正確的處理方式。