浏览 2624 次
锁定老帖子 主题:阿里巴巴宣讲会归来
精华帖 (0) :: 良好帖 (0) :: 灌水帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-05-21
昨晚跑南大本部去听了阿里巴巴的宣讲会,顺便还参加了一场比试,比试被我搞水了……
宣讲会来了两位大佬:鲁肃和愚公。愚公这名字早有耳闻了,他的《大道至简》也看过,好书!他的宣讲也比较有实干,多少能学到点实实在在的知识;鲁肃的演讲内容就比较空洞了,有炫耀的感觉,讲了很多支付宝成功的经历。宣讲会嘛,就是给公司做宣传的,好把人讲得热血沸腾,争着来加盟~但他的话语又不是很有渲染力,听着就没什么感觉了,怪不得愚公要开玩笑的讽刺他说后排都睡倒一片了……
我一直不喜欢做考试,于是这场笔试也被我搞水了~但我还是挺喜欢阿里巴巴出的题目的,纯死背记忆的东西不多,还有些开放题可以自由发挥(这种是我的最爱!)。郁闷的是Java题的第一道就被我弄混了,是一道字符串的比较题。考的内容就是比较字符串用“==”会有什么结果,显然都是false的,因为String不是基础类型。但败在最近在学Python,Python里对字符串变量有缓存机制的,只要长度不是太长(我机子上是20个字符),都会只用同一块内存空间保存内容。所以看到题目上就那么几个字符,我想都没多想就选了都是true了……但我Java重来都是用equal的啊,有点冤~再说这种错误就算犯了,单元测试里马上能发现的啊~嘿嘿。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-05-21
确认都是false?也许你蒙对了,true的估计不少
两string的值如果编译期就能确认的,貌似可能true,运行时才能确认的,基本为false 其实和python一样,也有缓存机制 |
|
返回顶楼 | |
发表时间:2010-05-21
zhouxwyeah 写道
确认都是false?也许你蒙对了,true的估计不少
两string的值如果编译期就能确认的,貌似可能true,运行时才能确认的,基本为false 其实和python一样,也有缓存机制
ab='HelloWorld' a='Hello' b='World' print ab==a+b 哎,反正都是错了……话说我也没寄多大希望,看当时的情况,好多都是研究生……
|
|
返回顶楼 | |
发表时间:2010-05-21
呵呵,了解下
|
|
返回顶楼 | |
发表时间:2010-05-25
ab='HelloWorld' a='Hello' b='World' System.out.print(ab==a+b); java 里面也是true、 |
|
返回顶楼 | |
发表时间:2010-05-25
zhxing 写道 ab='HelloWorld' a='Hello' b='World' System.out.print(ab==a+b); java 里面也是true、 难道用的解析器不同?不同环境下有不同结果?有趣了~我windows下,sun的jdk1.6u20,用Eclipse执行的,结果false…… |
|
返回顶楼 | |
发表时间:2010-05-25
最后修改:2010-05-25
由于a和b都是变量,所以在a+b的时候,jvm就会用StringBuild来完成字符串拼接。所以就成了:
String ab="HelloWorld"; String a = "Hello"; String b = "World"; StringBuild str = new StringBuild(); str.append(a); str.append(b); System.out.println(ab==str); //这当然是false了。 举个反例,如果a和b都是常量,就不一样了,大家都知道,常量字符串在jvm里都会有常量池维护: String ab = "HelloWorld"; final String a = "Hello"; final String b = "World"; /* * 这里跟 String str = "Hello" + "World"; 是一样的。 * "Hello" + "World" 既然是常量加常量,结果理所当然是常量"HelloWorld", * 而常量"HelloWorld"在前面已经定初始化了,所以理所当然直接引用了。 */ String str = a + b; System.out.println(ab==str); //所以这里就true了。 zhxing 写道 ab='HelloWorld' a='Hello' b='World' System.out.print(ab==a+b); java 里面也是true、 如果你依然坚持的你观点,请给出测试代码 :) |
|
返回顶楼 | |