stackoverflow上人气最旺的10个java问题-java开发java经验技巧

stackoverflow上人气最旺的10个java问题-java开发java经验技巧

ID:30790982

大小:76.00 KB

页数:7页

时间:2019-01-03

stackoverflow上人气最旺的10个java问题-java开发java经验技巧_第1页
stackoverflow上人气最旺的10个java问题-java开发java经验技巧_第2页
stackoverflow上人气最旺的10个java问题-java开发java经验技巧_第3页
stackoverflow上人气最旺的10个java问题-java开发java经验技巧_第4页
stackoverflow上人气最旺的10个java问题-java开发java经验技巧_第5页
资源描述:

《stackoverflow上人气最旺的10个java问题-java开发java经验技巧》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Stackovcrflow上人气最旺的10个Java问题-编程开发技术Stackoverflow_h人气最旺的10个Java问题本文illImportNew-liken翻译自nolsito欢迎加入翻译小组。转载诘见文末要求。1、?为什么两个(1927年)时间相减得到一个奇怪的结果?(3623个赞)如果执行下而的程序,程序解析两个间隔1秒的日期字符串并比较:publicstaticvoidmain(String[]args)throwsParseException{SimpleDateFormatsf二newSimpleDateFonnat(z/yyyy-MM~dds

2、szz);Stringstr3二〃1927-12-3123:54:07〃;Stringstr4="1927-12-3123:54:08〃;DatesDt3=sf.parse(str3);DatesDt4=sf.parse(str4);longld3=sDt3.getTime()/1000;longld4二sDt4.getTime()/1000;System,out.printin(Id4-ld3);}输出是:353为什么Id4-ld3不是1(因为我希望这两个时间差是一•秒),而是353?如果将日期字符串各加一秒:Stringstr3=〃1927-12-3123:54

3、:08〃;Stringstr4=〃1927-12-3123:54:09〃;Id4-ld3的结果是1.sun.uti1.calendar・Zonelnfo[id二"Asia/Sheinghai",offsct=28800000,dstSavings=0,useDaylight二false,transitions二19,lastRule=null]Locale(Locale,getDefault()):zh_CN解决方案这是上海时区,在12月31F1有一个变化。杳阅这个网址來了解上海在1927年时区变化的细节。基本上在1927年年底的午夜,始终会回拨5分52秒。所以“1

4、927-12-3123:54:08”实际上发生了两次,看起来Java解析了后一次的时间作为当地的日期和时间导致了差异。2、Java是“引用传递”还是“值传递”?(2480个赞)我一直认为Java是引用传递;然而,我看了一堆博客(例如这篇)声称不是这样的。我认为我没有理解它们之间的区别。给个解释?解决方案Java-直是值传递。不幸的是,他们决定把指针叫做引用,因此新人总是被搞晕。因为这些引用也是通过值传递的。3、一个关于Java+二操作符的问题(2223赞)直到今天我认为这个例子:i+二j;只是一个简写的:i=i+j;但如果这样做:inti=5;longj二8;然if

5、iji=i+j;没法编译,而i+二j;就可以编译。这意味着i+二j;实际上是i二(typeofi)(i+j)的简写么?解决方案总有人问这类问题,JLS里有答案。参见?§15.26.2复合赋值运算符。摘录:El?op=?E2型的复合赋值表达式等价于?El?=?(T)((El)?op?(E2)),这里T是E1的类型,不同的是E1只计算一次。一个例子,引自?§15.26.2[...]下面的代码是正确的:shortx=3;x+二4.6;x的结果等于7,因为它等价于:shortx=3;x二(short)(x+4.6);换句话说,你的假设是正确的。4>HashMap和Hasht

6、able之间的不同?(1769个赞)Java中?HashMap?和?Hashtable的不同是什么?非多线程应用中使用哪个更冇效率?解决方案Java屮HashMap和HashTable有儿个不同点:1.Hashtable?是同步的,然而?HashMap不是。这使得HashMap更适合非多线程应用,因为非同步对彖通常执行效率优于同步对彖。2.Hashtable不允许null值和键。HashMap允许有一个null键和人一个NULL值。1.HashMap的一个子类是LinkedHashMapo所以,如果想预知迭代顺序(默认的插入顺序),只需将HashMap转换成一个Li

7、nkedHashMapo用Hashtable就不会这么简单。因为同步对你來说不是个问题,我推荐使用HashMapo如果同步成为问题,你口J能还要看看ConcurrentHashMapo5、(如何)?读取或者把一个InputStream转成^个Strin(1724个赞)如果你有一个?java.io.InputStream对彖,如处理这个对彖并生成一个字符串?假定我有一个?InputStream?对象,它包含文本数据,我希望将它转化成一个字符串(例如,这样我可以将流的内容写到一个log文件屮)。InputStream?转化成String最简单方法是什么?解决方案使用

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。