首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

简单小疑点~

2012-01-19 
简单小问题~!publicvoidMethond(Listlist1,Listlist2){if(list1.size list2.size){.........}}publicvoid

简单小问题~!
public   void   Methond(List   list1,List   list2){
  if(list1.size> list2.size)
    {
      .........
    }
}

public   void   Methond(List   list1,List   list2){
    int   size1=list1.size;
    int   size2=list2.size;  
  if(size1> size2)
    {
      .........
    }
这两着有什么区别~?
}

[解决办法]
唯一的区别就是新定义的变量,增加了开销
其它的一样
[解决办法]
区别是有区别的,不过在if()语句这里影响不大,因为list1.size这样用的话每次都要对list进行遍历才能得到它的size,如果反复使用list的size属性的话,最好还是先把它取出来放在int变量里面,譬如有这样的一条语句for(;list.size;) {} 最好还是使用后者的方法
[解决办法]
区别就是……
内存里多开了两块int的空间
[解决办法]
多浪费了4个字节的内存.前者在比较以后就释放了,而后者要函数执行完后才释放.我觉得,讨论这个问题,不实在.呵呵.
[解决办法]
第二效率更高些

热点排行