Java 的大括號(‘{’ ,curly brace)除了必要的語法規定外,其更主要的是使代碼簡潔,易讀。
1. 作用域
在不同的代碼位置有不同的叫法,如靜態域,實例域等
// 靜態域
static{
// 各種初始化等
}
// 叉叉域,讓s在自己的域中,互不干涉。
{String s = "1";}
{String s = "2";}
2. 建數組
String[] s = {"1","2","3"};
String[][] s = {{"1","2"},{"3","4"}};
3. 匿名類
//new class-name ( [ argument-list ] ) { class-body }
//new interface-name () { class-body }
new Thread(){
public void run(){
}
}.start();
4. 雙括號
雙括號”{{}}”,用來初始化,使代碼簡潔易讀。
第一次括號是建個匿名類,第二層建個實例域執行代碼。
// 通常的是這樣
private static final Set<String> CODE = new HashSet<String>();
static {
CODE.add("1");
CODE.add("2");
}
// 可以這樣
private static final Set<String> CODE = new HashSet<String>(){{
add("1");
add("2");
}};
// 層次多點的
private static final Set<List<String>> TREE = new HashSet<List<String>>(){{
add(new ArrayList<String>() {{
add("1");
add("2");
}});
add(new ArrayList<String>() {{
add("3");
add("4");
}});
add(new ArrayList<String>() {{
add("5");
add("6");
}});
}};
編寫高質量代碼 改善Java程序的151個建議 PDF高清完整版 http://www.linuxidc.com/Linux/2014-06/103388.htm
Java 8簡明教程 http://www.linuxidc.com/Linux/2014-03/98754.htm
Java對象初始化順序的簡單驗證 http://www.linuxidc.com/Linux/2014-02/96220.htm
Java對象值傳遞和對象傳遞的總結 http://www.linuxidc.com/Linux/2012-12/76692.htm
Java對象序列化ObjectOutputStream和ObjectInputStream示例 http://www.linuxidc.com/Linux/2012-08/68360.htm