だから、私はこれの違いが何であるか疑問に思っていました:
first = "Hello!"
と:
String first = "Hello!"
前者は宣言された変数に代入します。後者は、変数を宣言して割り当てます。
first = "Hello!"
タイプがないため、正しくコンパイルされません。Javaでは、変数(この場合は「first」と呼ばれます)を作成するときに、String、int、longなどの型を指定する必要があります。タイプが指定されていないため、何をすべきかわかりません。したがって、変数を作成するときは、次を使用する必要がありますString first = "Hello!"
変数がすでに宣言されている場合は、型を指定する必要はありません。例えば、
String first = "Hello!"
first = "Goodbye!"
最初は「さようなら!」になります
あなたが何を求めているのかよくわかりません。最初の例first = "Hello!"
では、 を宣言していないfirst
ため、そのコード行のみを実行すると機能しません。String として宣言したと仮定するとfirst
、両方の例は同じです。また、 and のようなプリミティブstring
型はint
ありませんInteger
。文字列は常にオブジェクトです。
私はこれを考えません:
first="Hello!"
コンパイラが最初の型を要求するエラーをスローするため、コンパイルされます。Java は厳密に型指定された言語です。各変数には明確に定義された型が必要です。今のところ E のようなジェネリック型は無視しています...
一見、最初の変数が別の行で宣言されていること以外に違いはありませんが、おそらくインスタンス変数ですか?
メモリ内で文字列がプールされているので、そうあるべきです。