我正在浏览我的一些朋友Java,他目前正在睡觉。我的电脑上没有JDK,而且我从未碰过Java。这个表达式中校验和的值是多少?将字符串添加到Java中的int时会得到什么结果?
int score = 15;
String name = "Me";
String checksum = score + name + "salt";
//do stuff
我正在浏览我的一些朋友Java,他目前正在睡觉。我的电脑上没有JDK,而且我从未碰过Java。这个表达式中校验和的值是多少?将字符串添加到Java中的int时会得到什么结果?
int score = 15;
String name = "Me";
String checksum = score + name + "salt";
//do stuff
这将是“15Mesalt”
它只是增加了字符串的数量,没有多余的装饰,没有什么真正看中的整数。
好的,嗯。谢谢。这就是我的想法,但散列函数的输出似乎并不一致。谢谢。我得看看其他地方 – Kaslai 2012-04-15 11:46:03
的在将被转换成字符串,所以checksum
值将是15Mesalt
。
从java Language Specification (15.18.1)上字符串连接:
如果只有一个操作数的表达是String类型的情况下,对其它操作数执行的字符串转换以产生在运行时的字符串。
您正在连接字符串中的int。在String concatenation int中转换为String。
和结果将是
15MEsalt
结果是15Mesalt
。您的右侧变量为String
,因此+
操作员与操作数联系。
'String checksum ..'你确定*“我正在浏览我的一些朋友Java并且他目前正在睡觉。”*实际上并不意味着*“我是**黑客**我朋友的Java而他睡着了“*? – 2012-04-15 11:59:00
有趣。我的意思是完全一样的,你碰巧和我的朋友有相同的名字;) – Kaslai 2012-04-15 12:04:59
幸运我没有任何软件'保护'。实际上,我的大部分都是开源的。 :)对我的朋友表示同情,并建议他们找到更好的朋友(即朋友)。 ;) – 2012-04-15 12:12:05