Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在新对象中包装方法调用的好处是什么?_Java_Android_Inner Classes - Fatal编程技术网

Java 在新对象中包装方法调用的好处是什么?

Java 在新对象中包装方法调用的好处是什么?,java,android,inner-classes,Java,Android,Inner Classes,我在某个公司内部项目中看到了这个代码片段,这让我很困惑,没有人知道是谁&为什么这样写的 private void setDomStorageEnabled(final boolean isEnalbe) { new Object() { public void setDomStorageEnabled() { mWebView.getSettings().setDomStorageEnabled(isEnalbe); } }

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

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

有人对此有想法吗?

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

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

因此,简单的答案是:你应该扔掉那件东西,然后继续

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

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

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

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

因此,简单的答案是:你应该扔掉那件东西,然后继续

private void setDomStorageEnabled(boolean isEnalbe) {
  mWebView.getSettings().setDomStorageEnabled(isEnalbe);
}
相反。(我还删除了毫无意义的
final
,因为这也没有增加任何价值。除此之外,
mWebView
可以被称为
webView
,因为坚持java命名约定对你来说很重要。)

只是“写得不好的代码”就是“写得不好的代码”