stackoverflow问题精选-Java篇
非常喜欢stackoverflow,总能在上面找到疑难杂症的解决办法。该网站有一个热度榜单,于是精选了热度较高的一些问题,然后按照自己的理解,把大家的讨论梳理出来。因此,这些文章不是真正的翻译,而是按照自己的理解做了一些增删、润色,希望能把上面的讨论,更精简有效地分享给大家
lizeyang
这个作者很懒,什么都没留下…
展开
-
【Stackoverflow好问题】从一个多层嵌套循环中直接退出
问题Java中如何从一个多层嵌套循环中退出,例如下面,有两个循环,break只能退出一个for循环,不能直接跳过第二个for循环for (Type type : types) { for (Type t : types2) { if (some condition) { // Do something and break...翻译 2014-12-01 10:16:08 · 2363 阅读 · 1 评论 -
【Stackoverflow好问题】重写(Override)equlas和hashCode方法时应考虑的问题
问题重写(Override)equlas和hashCode方法时应考虑哪些问题?精华回答理论上讲(偏程序语言和数学层面)equals() 定义了对象的相等关系(自反性、对称性、传递性)(有点抽象,更详细说明,请参考javadoc) 。另外,它还具有一致性(也就是说,如果一个对象没有修改,那么这个方法应总是返回相同的值),此外,o.equals(nul翻译 2014-12-01 10:13:35 · 1761 阅读 · 0 评论 -
【Stackoverflow好问题】SQL表名,应该用复数还是单数
问题SQL表名,应该用表对应资源对象的复数形式还是单数形式。例如一个用户表,表名是用user还是users更合适呢?精华回答用单数形式更佳,理由如下:1、概念直观。你有一个袋子,里面有好多个苹果,你会说这是个苹果袋。但无论里面有0,1,百万个苹果,它依然是个袋子。表也是如此,表明需要描述清楚,表里面包含的对象,而非有多少个数据。2翻译 2014-11-27 22:32:50 · 9804 阅读 · 1 评论 -
【Stackoverflow好问题】SQL中去除重复行
问题假设有一个数据量比较大的表(例如300,000+行),其中有重复的行(除了主键外,其他的列数据是一样的),如何快速去重呢?我的表类似这样MyTable-----------RowID int not null identity(1,1) primary key,Col1 varchar(20) not null,Col2 varchar(2048) not null,翻译 2014-11-27 21:43:30 · 1844 阅读 · 0 评论 -
【Stackoverflow好问题】如何使用java.net.URLConnection收发HTTP请求
问题如何使用java.net.URLConnection收发HTTP请求呢?处理Http请求,有哪些最佳实践?讨论:精华回答首先声明,下面的代码,都是基本的例子。更严谨的话,还应加入处理各种异常的代码(如IOExceptions、NullPointerException、ArrayIndexOutOfBoundsException)翻译 2014-11-27 21:16:16 · 2717 阅读 · 0 评论 -
【Stackoverflow好问题】如何遍历map对象(如HashMap)
问题如何遍历map对象(如HashMap)精华回答jdk1.5以上版本for (Entry entry : map.entrySet()){ System.out.println(entry.getKey() + "/" + entry.getValue());}需要 import java.util.Map.Entry;jdk1翻译 2014-10-20 09:45:51 · 1394 阅读 · 0 评论 -
【Stackoverflow好问题】java中,如何判断数组Array是否包含指定的值
问题java中,如何判断数组Array是否包含指定的值精华回答1.Arrays.asList(...).contains(...)2.使用 Apache Commons Lang包中的ArrayUtils.containsString[] fieldsToInclude = { "id", "name", "locatio翻译 2014-10-20 10:03:39 · 1731 阅读 · 1 评论 -
【Stackoverflow好问题】去掉烦人的“!=null"(判空语句)
问题为了避免空指针调用,我们经常会看到这样的语句...if (someobject != null) { someobject.doCalc();}...最终,项目中会存在大量判空代码,多么丑陋繁冗!如何避免这种情况?我们是否滥用了判空呢?精华回答:这是初、中级程序猿经常会遇到的问题。他们总喜欢在方法中返回null,因此,在调用这些方法时,也翻译 2014-10-13 10:29:42 · 11869 阅读 · 21 评论 -
【Stackoverflow好问题】将数组转换为List
问题假设有数组Element[] array = {new Element(1),new Element(2),new Element(3)};如何将其转换为ArrayList arraylist呢?精华回答Arrays.asList(array)或者Arrays.asList(new Element(1),new Element(2),翻译 2014-10-13 11:27:21 · 1994 阅读 · 4 评论 -
【Stackoverflow好问题】获取完整的堆栈信息
问题捕获了异常后,如何获取完整的堆栈轨迹(stack trace)精华回答String fullStackTrace = org.apache.commons.lang.exception.ExceptionUtils.getFullStackTrace(e)stackoverflow原址:http://stackoverflow.com/quest翻译 2014-10-13 11:35:12 · 1862 阅读 · 0 评论 -
【Stackoverflow好问题】StringBuilder和StringBuffer对比
问题StringBuilder和StringBuffer有哪些区别呢?精华回答最主要的区别,StringBuffer的实现使用了synchronized(锁),而StringBuilder没有。因此,StringBuilder会比StringBuffer快。如果你 非常非常追求性能(其实这两个都不慢,比直接操作String,要快非常多了翻译 2014-10-13 11:41:00 · 1774 阅读 · 0 评论 -
【Stackoverflow好问题】将InputStream转换为String
不重复造轮子。最靠谱的方法,还是用Apache commons IOUtils 这样简单几行代码就搞定了StringWriter writer = new StringWriter();IOUtils.copy(inputStream, writer, encoding);String theString = writer.toString();或者String theSt翻译 2014-10-13 11:48:28 · 1535 阅读 · 3 评论 -
【Stackoverflow好问题】Java += 操作符实质
问题直到今天,我都一直以为:i += j 等同于 i = i + j;但假设有:int i = 5;long j = 8;那么 i = i + j不能编译,但i += j却可以。这是否意味着,i += j,实际是等同于 i= (type of i) (i + j)呢?精华回答:这个问题,其实官方文档中已经解答了。 请看这里。§15翻译 2014-10-14 16:56:54 · 1176 阅读 · 0 评论 -
【Stackoverflow好问题】Java是按值传递还是按引用传递
明确地说,java是按值传递的!java的世界里,都是按值传递。其实按值、按引用都只是个概念,关键是我们如何去理解java传参的本质。下面就结合一个例子来说有些情况下,传递的值,其内容是个引用,这一点容易让人产生困惑。请看下面的例子首先有如下代码Dog myDog = new Dog("Rover");foo(myDog);这时,你传给了foo函数一个值,这个值的内容翻译 2014-10-14 16:58:50 · 1612 阅读 · 0 评论 -
【Stackoverflow好问题】Java修饰符:public,protected,private,不加修饰符。有什么区别呢?
问题Java修饰符:public,protected,private,不加修饰符。有什么区别呢?精华回答如下表所示,Y表示能访问(可见性),N表示不能访问,例如第一行的第3个Y,表示类的变量/方法如果是用public修饰,它的子类能访问这个变量/方法修饰符类内部同个包(package)子类其他范围public翻译 2014-10-14 18:29:21 · 5090 阅读 · 0 评论 -
【Stackoverflow好问题】LinkedList、ArrayList各自的使用场景,如何确认应该用哪一个呢?
问题LinkedList、ArrayList各自的使用场景,如何确认应该用哪一个呢?精华回答一言以蔽之,在大部分情况下,使用ArrayList会好一些。一、耗时上各有优缺点。ArrayList稍有优势。List只是一个接口,而LinkedList、ArrayList是List的不同实现。LinkedList的模型是双向链表,而ArrayLis翻译 2014-10-17 09:55:03 · 2558 阅读 · 0 评论