`

Effective Java读书笔记3

阅读更多
package chape8;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
* 第八章 通用程序设计
* 第45条: 将局部变量的作用域减小到最小
*   将局部变量的作用域最小化。可以增强代码的可读和可维护性,并降低出错的可能性
*   要使作用域最小,最有力的方法就是在第一次使用它的时候声明;如果提前声明会造成
* 一片混乱;也会分散注意力
* 几乎每个局部变量的声明都应该包括一个初始化得表达式;
* 例如:
* for(Element e : c)
* {
* dosomthing(e);
* }
* 这个是java1.5以上的版本的for循环的首先考虑的写法;
* 。。。。。。。。。。。。。
* 再来看:下面是java1.5以前的for循环
* List c = new ArrayList ();
Iterator it = c.iterator();
while(it.hasNext())
{
it.next();
}
List c1 = new ArrayList();
Iterator it1 = c1.iterator();
while(it.hasNext())
{
it1.next();
}
* 但你比较一下这两个循环,第二个循环是我要的第二个循环 我为了方便将第一个循环
* 复制了一份 ,然后改变了变量的名称来达到两个循环的目的,這樣寫 ide不會報錯
* 但是显然我忘了修改一些必须修改的东西,但是第一个循环中的it在第二个的作用域中依然有效 这样会造成你认为
* 莫名其妙的问题;
* 如果這樣寫:
*   List c = new ArrayList ();

for (Iterator it = c.iterator();it.hasNext();)
{
it.next();
}
List c1 = new ArrayList();

while(Iterator it1 = c1.iterator();it.hasNext();)
{
it1.next();
}
    第一個循環中的變量的作用域不會影響到第二個 這樣ide就會報錯 可以及時改成;
   
    將局部變量的作用域最小化 使方法小而集中,將能分開的方法都分開;
* @author lee
*
*/
public class Chape45 {
public static void main(String[] args) {
/*List c = new ArrayList ();
Iterator it = c.iterator();
while(it.hasNext())
{
it.next();
}
List c1 = new ArrayList();
Iterator it1 = c1.iterator();
while(it.hasNext())
{
it1.next();
}
*/
/* List c = new ArrayList ();

for (Iterator it = c.iterator();it.hasNext();)
{
it.next();
}
List c1 = new ArrayList();

for(Iterator it1 = c1.iterator();it.hasNext();)
{
it1.next();
}*/
}

}
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics