java陷进一

项目忙,遇到问题,都是解决了继续需求开发。但是总觉得需要积累,反之重复造轮子,重复踩地雷。

把今天遇到的问题总结下:

一、方法参入的引用

引入方法参数非常常见,而且很方便,减少了参数的个数。

但是如果你要操作该对象,还是要小心,看下面的例子

A a=new A();
method(a);//method对a进行了操作
method1(a);//时候a可能已经发生变化了,因为传入的是变量的引用

代码很简单,就method和method1都要传入a对象。原先设想的两次传入的a都是一样的,只是方法中做了不同的逻辑操作。

但是由于在method中做a做了数据操作,导致了第二次引用的时候,a已经不是想要的那个a对象。 

因此要慎重。虽然可以减少 A a1=method(a);

第二个,list的注意细节

list ls=new ArrayList();
method(ls);
list ls2=new ArrayList();
ls2.addAll(ls2);
method2(ls2);

上面操作中method2(ls2);不会因为ls的改变而有所改变。另外retainAll 取交集.Arrays.asList(arr[])字符串转数组。

第三 数字转换VS类型转换

double d=1/2.0 

long l=Long.valueOf("1.2");

Object objs[]=new Object[]{"pob"};

String strs[]=(String)objs;//错误做法
//正确的做法应该是便利objs的时候对每个 objs[i]对象进行转换。

四、细节影响大局

有时候,我们为了能将一个模块的一点细节做到更好,可能还谈不上极致,就会掉入自己挖的陷阱.因为这里会牵扯到很多不确定的因素。

所以,除非你有足够的把握,否则不要轻易为了一点细节,耽误了项目的整体进度,比如说最近的我。orz

五、开源框架的抉择

当我们原有的框架不满足新业务需求的时候,寻找一个合适的框架尤为重要,否则到了后期,可能会发现选择的框架不够强大,或则不够稳定(性能,异常)

等等,导致不能满足用户的最终需求.对项目的伤害也是非常大的。比如这次自己选择了 EasyUI的slider来完成一个比例的拖动效果。

但是发现了很多问题,比如没有max属性,值只能是100,超过100就还是100.其次感知效果也不如jqueryui的slider。

看来选择框架,还是尽量选择成熟的,权威的,用户量多的(API多)。否则开发难度为非常大。

不多了,继续苦逼的coding.

posted @ 2013-05-20 20:17  draem0507  阅读(163)  评论(0编辑  收藏  举报
View Code