Java 中的 WITH 语句
2022-09-01 06:31:22
在 VB.NET 有 WITH 命令,允许您省略对象名称并仅访问所需的方法和属性。例如:
With foo
.bar()
.reset(true)
myVar = .getName()
End With
Java中是否有这样的语法?
谢谢!
在 VB.NET 有 WITH 命令,允许您省略对象名称并仅访问所需的方法和属性。例如:
With foo
.bar()
.reset(true)
myVar = .getName()
End With
Java中是否有这样的语法?
谢谢!
不。当表达式过长时,您可以做的最好的方法是将其分配给具有短名称的局部变量,并用于创建作用域:{...}
{
TypeOfFoo it = foo; // foo could be any lengthy expression
it.bar();
it.reset(true);
myvar = it.getName();
}
也许在Java中最接近的方法是在构建过程中使用双括号成语。
Foo foo = new Foo() {{
bar();
reset(true);
myVar = getName(); // Note though outer local variables must be final.
}};
或者,可以链接返回的方法:this
myName =
foo
.bar()
.reset(true)
.getName();
其中 和 方法返回 。bar
reset
this
但是,想要这样做往往表明对象没有足够丰富的行为。尝试重构到被调用的类中。也许不止一个班级试图走出去。