Java中是否有类似C#的using语句,在Hibernate打开会话时使用?
在C#中,它是这样的:
using (var session = new Session())
{
}
所以对象超出作用域后会自动关闭。
Java中是否有类似C#的using语句,在Hibernate打开会话时使用?
在C#中,它是这样的:
using (var session = new Session())
{
}
所以对象超出作用域后会自动关闭。
{
AwesomeClass hooray = new AwesomeClass()
// Great code
}
变量hooray
仅在此范围内可用,而在其外部不可用。
如果您有重复的临时变量,则这可能很有用。
例如,每个带索引。就像item
变量在for循环中被封闭一样(即仅在其中可用),index
变量在匿名范围内被封闭。
// 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
}
}
有时候如果你没有for循环来提供变量作用域,但是你想使用通用的变量名,我也会使用这个方法。
{
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
的作用。范围不等于生命周期(严格来说,using
也不涉及生命周期,因为Dispose
不会销毁对象的内存)。 - Joren