2012-11-16 143 views
3

可能重複:
What does two consecutive blocks of code {}{} do?使用複合語句沒有條件語句中的Java

我返工一個很老的Java應用程序,並指出,原開發商使用了大量複合語句在不屬於任何條件或循環邏輯的方法中。

示例僞代碼:

{ 
Object a = new Object(); 
a.setAttribute(); 
} 

{ 
Object b = new Object(); 
b.setAttribute(); 
} 

這只是一種風格偏好還是我失去了一些東西?

+0

你想實現什麼? –

+2

它包含大括號範圍內的變量名稱。它不會受傷,並可能有助於避免名稱衝突。 –

+3

@MarkoTopolnik:我建議,如果是過度使用,它可能會損害可讀性非常顯着。謹慎使用,只有在實際使用時,纔會沒事。 –

回答

2

一個塊內聲明的局部變量沒有任何其他人看到,所以這是很方便的東西像代碼生成,你不​​必擔心不同的代碼塊之間的名稱衝突。我通常不會在手寫代碼中使用這種技術。

2

它增加了額外的作用域,如果你用同樣的方法很多不相交的局部變量的工作,可以偶爾是有用的。