【问题标题】:What is the benefit of wrapping a method call in a new object?将方法调用包装在新对象中有什么好处?
【发布时间】:2018-09-11 06:50:45
【问题描述】:

我在某个公司内部项目中看到了这段代码 sn-p,这真的让我很困惑,没有人知道是谁&&为什么这样写的。

private void setDomStorageEnabled(final boolean isEnalbe) {
    new Object() {
        public void setDomStorageEnabled() {
            mWebView.getSettings().setDomStorageEnabled(isEnalbe);
        }
    }.setDomStorageEnabled();
}

有人对此有想法吗?

【问题讨论】:

  • 只是一个“写得不好的代码”

标签: java android inner-classes


【解决方案1】:

此代码创建一个匿名内部类并对其进行实例化,以调用该实例上的方法。也可以直接调用的方法。

这样做没有任何意义,它不会增加任何价值。相反,它显然只会在读者中造成混乱。

因此,简单的答案是:你应该把那个东西扔掉并继续使用

private void setDomStorageEnabled(boolean isEnalbe) {
  mWebView.getSettings().setDomStorageEnabled(isEnalbe);
}

相反。 (我还删除了毫无意义的final,因为 also 在这里没有添加任何价值。除此之外,mWebView 可以称为webView,当坚持 java 命名约定对你很重要时.)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-12
    • 1970-01-01
    • 1970-01-01
    • 2016-03-03
    • 2011-04-04
    • 2023-03-02
    • 2019-03-30
    相关资源
    最近更新 更多