什么是Java等价的VBA' s" With"声明

时间:2014-05-21 13:44:05

标签: java vba

在VB / VBA中你可以这样做:

With person
    .Name = "John"
    .Age = 32
End With

但在java中,我无法弄清楚该功能是如何存在的。我看到的一切似乎只是重复对象引用,如下所示:

person.setName("John");
person.setAge("32");

如果它不存在,是否至少有一些方法可以减少重复?

1 个答案:

答案 0 :(得分:3)

  

如果它不存在,是否至少有一些方法可以减少重复?

不,不是真的 - 除非你控制类型。

如果你控制类型,你可以让set方法返回this,允许你链接方法调用。这通常对 builder 类型有用:

Person person = Person.newBuilder().setName("John").setAge(32).build();

(你可以让你的类型变得可变,而不是将构建器类型与不可变的非构建器类型分开,但我只是不可变性的粉丝......)