黑马程序员技术交流社区

标题: 我7月份面试官问我的2个问题 [打印本页]

作者: 王士铭    时间: 2011-8-3 00:41
标题: 我7月份面试官问我的2个问题
我7月份本来想找一份工作的 后来都碰壁了 就选择到黑马了
其中我在中科软的一个面试官问的2个问题看似很简单 我却说不出个所以来
第一个是 if("x".equals(y))和if(y.euals("x"))有什么区别 你平时是怎么用的 我就回答说我平时if("x".equals(y))这样子用的  面试官说为什么,我答不出来这是真的,
另外一个是你在下载一张图片 下载完成后 是先关 文件流 还是在关网络流  我回答先关文件流后关网络流 为什么?

面试官最后对我说很多方法看前人怎么写 我们就跟着怎么写,但是有时候场合并不合适,然后我们都一直以为那样子是对的,因为我们不懂这个原理,所以会在一些特殊的场合出错,如果我们懂了就不会出现这个错误了!在这里希望同学不仅要懂还要知道为什么这样子操作!老师上课的时候也给我们讲一些细节的原理
作者: 匿名    时间: 2011-8-3 08:40
标题: 回复 楼主 的帖子
楼主,现在搞懂这两个原因了么?求解释下,真没注意,也不知道什么原因呀,解释下啊,想知道,求解,先拜谢了
作者: 匿名    时间: 2011-8-3 09:20
第一题我也不太清楚,,,
第二题的话:
在close一个流的时候,它会执行一次flush操作,因此,当.close()时,它会把自身的内容,一次性flush出去。如果此时文件流已经关闭了,那么网络中的数据的内容流不出去,因此会抛出异常。
正确关闭流的顺序是:

先关网络流,再关文件流
作者: 匿名    时间: 2011-8-3 10:12
标题: 回复 藤椅 的帖子
解析的也太牵强了 ,正确的是 先关文件Io流,后关网络流的,  网络开启了就合用户间建立了一条管道,然后通过这条管道拿取数据, 拿完数据就关闭IO流,在关闭关闭网络流,一般都遵循后开的流先关闭,如果你先关闭网络流了就像强行的将这个管道给割断了就会抛出异常了
作者: 匿名    时间: 2011-8-3 10:36
[code=java] if("x".equals(y))[/code]永远不会抛 空指针 异常。[code=java] if(y.euals("x"))[/code]若y为null,则会抛空指针异常。因此要把字符串常量放到前面。
作者: 匿名    时间: 2011-8-3 11:19
恩  学习了
作者: 匿名    时间: 2011-8-4 08:23
嗯,学习了。还有老罗也真是的,藤椅都回答错了你还给分,误导我还以为他的对了,纠结我一下,幸亏往下一翻页看到了板凳的回答。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2