0

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();
}
4

2 に答える 2

2

instanceOfの代わりに!=を使用して、変数が初期化されたかどうかを確認します。instanceOfは、この場合は不要な追加の型チェックを実行します。

于 2011-10-05T06:28:15.487 に答える
1

使う!=、使わないinstanceOf。オブジェクトを宣言すると、初期化されていなくても、それはすでに何らかのクラスのインスタンスであり、確かに NULL です。
あなたの最初のものは正しい処理方法です。

于 2011-10-05T06:25:55.310 に答える