简单小问题~!
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个字节的内存.前者在比较以后就释放了,而后者要函数执行完后才释放.我觉得,讨论这个问题,不实在.呵呵.
------解决方案--------------------第二效率更高些