Để trả lời câu hỏi liên quan đến giới hạn phạm vi của một biến, thay vì nói về việc tự động đóng / loại bỏ các biến.
Trong Java, bạn có thể xác định các phạm vi đóng, ẩn danh bằng cách sử dụng dấu ngoặc nhọn. Nó cực kỳ đơn giản.
{
AwesomeClass hooray = new AwesomeClass()
// Great code
}
Biến hooray
chỉ có sẵn trong phạm vi này và không có bên ngoài nó.
Điều này có thể hữu ích nếu bạn có các biến lặp lại chỉ là tạm thời.
Ví dụ, mỗi mục có chỉ mục. Giống như item
biến được đóng trong vòng lặp for (tức là chỉ có sẵn bên trong nó), index
biến được đóng trong phạm vi ẩn danh.
// first loop
{
Integer index = -1;
for (Object item : things) {index += 1;
// ... item, index
}
}
// second loop
{
Integer index = -1;
for (Object item : stuff) {index += 1;
// ... item, index
}
}
Tôi cũng sử dụng điều này đôi khi nếu bạn không có vòng lặp for để cung cấp phạm vi biến, nhưng bạn muốn sử dụng tên biến chung.
{
User user = new User();
user.setId(0);
user.setName("Andy Green");
user.setEmail("andygreen@gmail.com");
users.add(user);
}
{
User user = new User();
user.setId(1);
user.setName("Rachel Blue");
user.setEmail("rachelblue@gmail.com");
users.add(user);
}
using
. Phạm vi không phải là thời gian tồn tại (vàusing
cũng không phải là suốt đời, nói đúng ra, cũng nhưDispose
không phá hủy bộ nhớ của đối tượng.)