2012-04-15 19 views
1

我正在瀏覽我的一些朋友Java,他目前正在睡覺。我的電腦上沒有JDK,而且我從未碰過Java。這個表達式中校驗和的值是多少?將字符串添加到Java中的int時會得到什麼結果?

int score = 15; 
String name = "Me"; 
String checksum = score + name + "salt"; 
//do stuff 
+0

'String checksum ..'你確定*「我正在瀏覽我的一些朋友Java並且他目前正在睡覺。」*實際上並不意味着*「我是**黑客**我朋友的Java而他睡着​​了「*? – 2012-04-15 11:59:00

+0

有趣。我的意思是完全一樣的,你碰巧和我的朋友有相同的名字;) – Kaslai 2012-04-15 12:04:59

+0

幸運我沒有任何軟件'保護'。實際上,我的大部分都是開源的。 :)對我的朋友表示同情,並建議他們找到更好的朋友(即朋友)。 ;) – 2012-04-15 12:12:05

回答

4

這將是「15Mesalt」

它只是增加了字符串的數量,沒有多餘的裝飾,沒有什麼真正看中的整數。

+0

好的,嗯。謝謝。這就是我的想法,但散列函數的輸出似乎並不一致。謝謝。我得看看其他地方 – Kaslai 2012-04-15 11:46:03

1

的在將被轉換成字符串,所以checksum值將是15Mesalt

java Language Specification (15.18.1)上字符串連接:

如果只有一個操作數的表達是String類型的情況下,對其它操作數執行的字符串轉換以產生在運行時的字符串。

1

您正在連接字符串中的int。在String concatenation int中轉換爲String。

和結果將是

15MEsalt 
0

結果是15Mesalt。您的右側變量爲String,因此+操作員與操作數聯繫。