- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java 初学者问题收集——动力节点javaJava是目前最流行的编程语言之一——它可以用来编写Windows程序或者是Web应用,移动应用,网络程序,消费电子产品,机顶盒设备,它无处不在。有超过30亿的设备是运行在Java之上的。根据Oracle的统计数据,光是使用中的Java Card就有有50亿。超过900万程序员选择使用Java进行开发,它是最受开发人员欢迎的语言,同时也是最流行的开发平台。本文为那些准Java程序员们准备了一系列广为流传的Java最佳编程实践:1.优先返回空集合而非null如果程序要返回一个不包含任何值的集合,确保返回的是空集合而不是null。这能节省大量的”if else”检查。publicclass getLocationName {? ? return(null==cityName ?: cityName);}2.谨慎操作字符串如果两个字符串在for循环中使用+操作符进行拼接,那么每次循环都会产生一个新的字符串对象。这不仅浪费内存空间同时还会影响性能。类似的,如果初始化字符串对象,尽量不要使用构造方法,而应该直接初始化。比方说://Slower InstantiationString bad =newString(Yet another string object);? ? ?//Faster InstantiationString good =Yet another string object3.避免无用对象创建对象是Java中最昂贵的操作之一。因此最好在有需要的时候再进行对象的创建/初始化。如下:import java.util.ArrayList;import java.util.List;publicclassEmployees{? ? privateListEmployees;? ? publicList getEmployees(){? ? ? ? //initialize only when required? ? ? ? if(null==Employees){? ? ? ? ? ? Employees=newArrayList();? ? ? ? }? ? ? ? returnEmployees;? ? }}4.数组与ArrayList之争开发人员经常会发现很难在数组和ArrayList间做选择。它们二者互有优劣。如何选择应该视情况而定。import java.util.ArrayList;publicclass arrayVsArrayList {? ? publicstaticvoid main(String[] args){? ? ? ? int[] myArray =newint[6];? ? ? ? myArray[7]=10;// ArraysOutOfBoundException? ? ? ? //Declaration of ArrayList. Add and Remove of elements is easy.? ? ? ? ArrayListInteger myArrayList =newArrayList();? ? ? ? myArrayList.add(1);? ? ? ? myArrayList.add(2);? ? ? ? myArrayList.add(3);? ? ? ? myArrayList.add(4);? ? ? ? myArrayList.add(5);? ? ? ? myArrayList.remove(0);? ? ? ? ? ? ? ? for(int i =0; i myArrayList.size(); i++){? ? ? ? System.out.println(Element: + myArrayList.get(i));? ? ? ? }? ? ? ? ? ? ? ? //Multi-dimensional Array ? ? ? ? int[][][] multiArray =newint[3][3][3];? ? }}数组是定长的,而ArrayList是变长的。由于数组长度是固定的,因此在声明数组时就已经分配好内存了。而数组的操作则会更快一些。另一方面,如果我们不知道数据的大小,那么过多的数据便会导致ArrayOutOfBoundException,而少了又会浪费存储空间。ArrayList在增删元素方面要比数组简单。数组可以是多维的,但ArrayList只能是一维的。5.try块的finally块没有被执行看下下面这段代码:publicclass shutDownHooksDemo {? ? publicstaticvoid main(String[] args){? ? ? ? for(int i=0;
文档评论(0)