代码规范:那种写法更好?

[code="java"]
package org.exmaple;

import java.util.HashMap;
import java.util.Map;

public class ExampleOne {

public static void main(String[] args) {

    Map<String, Object> clause = null;

    // 1.
    clause = new HashMap<String, Object>();
    clause.put("key1", "value1");

    clause = new HashMap<String, Object>();
    clause.put("key2", "value2");

    clause = new HashMap<String, Object>();
    clause.put("key3", "value3");

    // 2.
    clause = new HashMap<String, Object>();
    clause.put("key1", "value1");

    clause.clear();
    clause.put("key2", "value2");

    clause.clear();
    clause.put("key3", "value3");
}

}

[/code]

上面是两种不同的写法,那种写法更好?

clause = new HashMap();

clause.put("key1", "value1");

    clause.clear();   
    clause.put("key2", "value2");   

    clause.clear();   
    clause.put("key3", "value3");  

这种写法,理解比较好。第一种写法的是对象覆盖了,GC回收了那些没用的对象,这个看个人的癖好了

个人认为第二种写法比较好吧,始终操作的是一个对象,节省内存中堆栈大小。不过Java自动管理栈和堆,有自己的回收机制,新创建一个对象的同时之前的对象会被回收释放掉,从科学角度来说是差不多的。

一样。

第二种吧,第一种每次都覆盖原来的了,还有什么用