2012-05-26 96 views
0

所以,我想知道的區別是這之間有什麼:簡單的Java字符串

first = "Hello!" 

和:

String first = "Hello!" 
+0

你是什麼意思,具體是什麼? – sarnold

+2

如果您想學習使用Java進行編程(或者只是爲了閱讀Java代碼),那麼您需要閱讀/閱讀教科書,或者閱讀Oracle Java教程。如果沒有,正確的答案對你來說沒有多大意義。 –

+0

上下文可以創造一個不同的世界。 – trutheality

回答

1

我不認爲這樣的:

first="Hello!" 

將編譯因爲編譯器會拋出錯誤詢問第一種類型。 Java是一種強類型語言 - 每個變量都需要一個定義明確的類型。我現在忽略像E這樣的通用類型...

+0

除非它前面有'String first;' –

10

前者分配給已聲明的變量;後者聲明並分配一個變量。

+0

給出了這個問題的措辭,這似乎是最準確的答案 –

+0

+1的答案! –

0

乍一看,除了第一個變量在另一行中聲明可能是一個實例變量沒有其他區別嗎?

在內存中的字符串正在彙集,所以應該是它。

1

不確定你在問什麼。在你的第一個例子中:first = "Hello!"你沒有聲明first,所以如果你只運行那行代碼,它將不起作用。假設你將first聲明爲String,那麼這兩個示例都是相同的。並沒有像intInteger那樣的原始string類型。字符串始終是一個對象。

1
first = "Hello!" 

將無法​​正確編譯,因爲它沒有類型。在Java中,當你創建一個變量時(在這個例子中稱爲'first'),你必須給它一個類型,比如String,int,long等等。由於沒有給出類型,它不知道該怎麼做。因此,當您創建變量時,您必須使用String first = "Hello!"

當變量已被聲明時,您不需要提供該類型。例如,

String first = "Hello!" 
first = "Goodbye!" 

首先現在是「再見!」