我在某个公司内部项目中看到了这段代码片段,这确实让我感到困惑,而且没人知道谁和为什么写这样的代码。
private void setDomStorageEnabled(final boolean isEnalbe) {
new Object() {
public void setDomStorageEnabled() {
mWebView.getSettings().setDomStorageEnabled(isEnalbe);
}
}.setDomStorageEnabled();
}
有人对此有想法吗?
答案 0 :(得分:6)
此代码创建一个匿名内部类并将其实例化,以在该实例上调用方法。可以直接调用的方法。
这样做毫无意义,它不会增加任何价值。相反,它显然只会在读者之间造成混乱。
因此,简单的答案是:您应该把那东西扔掉并继续使用
private void setDomStorageEnabled(boolean isEnalbe) {
mWebView.getSettings().setDomStorageEnabled(isEnalbe);
}
相反。 (我还删除了毫无意义的final
,因为 在这里也没有添加任何值。除此之外,mWebView
在坚持时可以称为webView
Java命名约定对您很重要。)