background image

2、使用本地方法

不 要 吝 惜 使 用

String.indexOf(),  String.lastIndexOf() 等 特 殊 实 现 的 方 法 (specialty 

methods)。这些方法都是使用 C/C++实现的

3、使用实现类比接口好

1

Map myMap1 = new HashMap();  HashMap myMap2 = new HashMap(); 

调用一个接口的引用会比调用实体类的引用多花费一倍的时间

4、不用 getter 和 setter

应该直接访问变量

5、将成员变量缓存到本地

2

for (int i = 0; i< this.mCount; i++)                 dumpItem(this.mItems[i]); 

最好改成这样:

3

int count = this.mCount;  Item[] items = this.mItems;  

4

for (int i = 0; i< count; i++) dumpItems(items[i]); 

另外,永远不要在

for 的第二个条件中调用任何方法

6、给常量加上 final

5

static int intVal = 42;  static String strVal = “Hello, world!”; 

编译器会生成一个叫做的初始化类的方法,当类第一次被使用的时候这个方法会被执

行。方法会将

42 赋给 intVal,然后把一个指向类中常量表的引用赋给 strVal。当以后要用到这

些值的时候,会在成员变量表中查找到他们。

6

static final int intVal = 42;  static final String strVal = “Hello, world!”; 

现在,类不再需要方法,因为在成员变量初始化的时候,会将常量直接保存到类文件

中。用到

intVal 的代码被直接替换成 42,而使用 strVal 的会指向一个字符串常量,而不是使

用成员变量。

7、谨慎使用 foreach

foreach 可以用在实现了 Iterable 接口的集合类型上。foreach 会给这些对象分配一个

iterator,然后调用 hasNext()和 next()方法。你最好使用 foreach 处理 ArrayList 对象,但是对
其他集合对象,

foreach 相当于使用 iterator