是否允许使用点运算符(连续方法调用而不是?点运算符的这种用法称为

底部成员方法连续使用了“.”。运算符调用成员“set”方法作为返回对象的一种方式


我以前没有遇到过这种语法,这是有效的 Java 语法吗?这个链接叫什么(我如何查找这样的语法用法?)?


public class OrderItemModel {

    private String restaurantId;

    private String restaurantName;

    private List<FoodModel> foods;

    private List<Long> numOfFoods;


    private OrderItemModel() {}

. . .


    public static OrderItemModel buildAdditional(ShoppingCartModel shoppingCart) {

        return new OrderItemModel().

        setRestaturantId(shoppingCart.getAdditionalRestaurantID()).

        setRestaurntName(shoppingCart.getAdditionalRestaurantName()).

        setFoods(shoppingCart.getAdditionalFoods()).

        setNumOfFoods(shoppingCart.getNumOfAdditionalFood());

    }


呼如林
浏览 246回答 1
1回答

忽然笑

使用这样的方法可以做到这一点,它们在调用时返回类的一个实例:class Person {&nbsp; &nbsp; public Person setName(String a) {&nbsp; &nbsp; &nbsp; &nbsp; return this;&nbsp; &nbsp; }&nbsp; &nbsp; public Person setAge(int age) {&nbsp; &nbsp; &nbsp; &nbsp; return this;&nbsp; &nbsp; }}并像这样使用它:Person person = new Person();person.setName("abc").setAge(19);这是可能的原因是您有变量person,您使用设置名称setName但setName返回该类的实例,因此您可以调用setAge返回的该实例等。它不称为“点运算符”,它只是链接方法调用。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java