2016-08-12 70 views
-1

私はいくつかのタイプvarの変数を持っていると言います。私が変数を初期化しないときに、私は初期化するように求められます(eclipseによって)はnullと言います。私が非常に初めに初期化する時には、それは変数javaの初期化

DataType var= null; "Remove this useless assignment to local variable "var""と言います。

私の質問は、異なるシナリオでこの初期化の違いは何故ですか?それはデータ型に依存しますか?

+3

人々があなたのために思いつくのではなく、具体的な例を挙げてください。 –

+1

'DataType var = null;'がある行に 'var = somethingElse;'があれば、そのような代入は役に立たないでしょう。変数。 –

+0

@Andyだから、宣言したままにしておくと、まず最初に変数を初期化するように促されます。 – yellow

答えて

0

最初は、nullに初期化するのが一般的ではありません。コンパイラは、正しく初期化されずに読み込まれている変数について警告しているためです。それをnullに設定することは、適切に初期化することは非常に疑わしいことです。参照されていない場合、おそらくNullPointerExceptionが生成されます。

私はローカル変数の初期化whith常にこれらのルールに従うことをお勧め:

  • はすぐにそれが利用可能であるとして(一度だけ)の初期値を設定してください。必要に応じて、宣言を有効な値が使用可能なポイントまで遅延させます。
  • nullに初期化しないでください。その状況を認識するために後続のコードを記述しない限り。 Eclipseは「役に立たない初期化」について警告を出した場合、次の値が設定される前に、あなたは(それがnullをした場合でも)変数に設定した初期値が読み込まれることはありませんので、目的のために

は、確かにあります。