明确地说,java是按值传递的!java的世界里,都是按值传递。其实按值、按引用都只是个概念,关键是我们如何去理解java传参的本质。下面就结合一个例子来说
有些情况下,传递的值,其内容是个引用,这一点容易让人产生困惑。
请看下面的例子
首先有如下代码
Dog myDog = new Dog("Rover");
foo(myDog);
这时,你传给了foo函数一个值,这个值的内容...
分类:
编程语言 时间:
2014-10-14 18:04:34
阅读次数:
190
问题
假设有数组
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 15:04:59
阅读次数:
169
不重复造轮子。最靠谱的方法,还是用Apache
commons IOUtils
这样简单几行代码就搞定了
StringWriter writer = new StringWriter();
IOUtils.copy(inputStream, writer, encoding);
String theString = writer.toString();
或者
String theSt...
分类:
其他好文 时间:
2014-10-13 14:28:49
阅读次数:
193
问题
StringBuilder和StringBuffer有哪些区别呢?
精华回答
最主要的区别,StringBuffer的实现使用了synchronized(锁),而StringBuilder没有。
因此,StringBuilder会比StringBuffer快。
如果你
非常非常追求性能(其实这两个都不慢,比直接操作String,要快非常多了...
分类:
其他好文 时间:
2014-10-13 13:55:59
阅读次数:
149
问题
为了避免空指针调用,我们经常会看到这样的语句
...if (someobject != null) {
someobject.doCalc();}...
最终,项目中会存在大量判空代码,多么丑陋繁冗!如何避免这种情况?我们是否滥用了判空呢?
精华回答:
这是初、中级程序猿经常会遇到的问题。他们总喜欢在方法中返回null,因此,在调用这些方法时,也...
分类:
其他好文 时间:
2014-10-13 11:51:37
阅读次数:
136