我在某个公司内部项目中看到了这段代码片段,这确实使我感到困惑,而且没人知道谁和为什么写这样的代码。
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
,因为在这里也没有添加任何值。除此之外,当坚持使用Java命名约定时,mWebView
可以称为webView
。)关于java - 将方法调用包装在新对象中有什么好处?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52270224/