任何人都可以解释此代码段的工作方式吗...实际的代码本身并不相关,因为它来自有关在Android上使用MVP模式的简短教程。

我的主要问题是这种代码结构如何工作,以及它是内部类,某种形式还是事务类。.在Java中我还没有看到这样的代码结构,我想了解一下它,以便从中学习似乎有效且最小。

public void loadCustomer(int id) {
    (mCustomerModel.load(id)) {
        mCustomerView.setId(mCustomerModel.getId());
        mCustomerView.setFirstName(mCustomerModel.getFirstName());
        mCustomerView.setLastName(mCustomerModel.getLastName());
    }
}

最佳答案

这是直截了当的,但肯定看起来有点不寻常。 mCustomerModel.load(id)周围的圆括号是多余的,在这种情况下,接下来三行周围的花括号也是多余的。在另一种情况下,如果在该块中声明了局部变量,则其范围将仅限于该块。下面的代码是等效的:

public void loadCustomer(int id) {
    mCustomerModel.load(id);
    mCustomerView.setId(mCustomerModel.getId());
    mCustomerView.setFirstName(mCustomerModel.getFirstName());
    mCustomerView.setLastName(mCustomerModel.getLastName());

}

编辑:遗漏了圆括号内的行应为if语句的意图。在这种情况下,一旦添加了“如果”,代码就很容易解释。

08-03 12:00