-1

有人在我的代码中提出了保存 HEADER_PROPERTY 的值而不是整个属性映射的建议。首先,我对这样做有什么好处感到困惑,其次我对如何做到这一点感到困惑。this.properties 引用用户在前端输入的属性。Valuemap 是一种访问资源属性的方法。GetHeaderMessage 只是输出的值

private static final String HEADER_PROPERTY = "header-msg";  
private ValueMap properties = null;
private static final String getHeader = this.properties.get(HEADER_PROPERTY, "");

public void setProperties(ValueMap properties){
this.properties = properties;
}

public String getHeaderMessage(){               
String headerMessage = this.properties.get(HEADER_PROPERTY);
return headerMessage;
}
4

1 回答 1

1

这是一个潜在的优化,因为您每次都从该值映射中读取getHeaderMessage()被调用以获取我们猜测的静态值,在初始化后永远不会改变?如果它的实现ValueMap每次访问时都从硬盘读取,并且getHeaderMessage()在每次页面加载时都被调用,那可能是非常浪费的。这可能是一个简单的改变:

private static final String HEADER_PROPERTY = "header-msg";  
private ValueMap properties = null;
private String headerMessage = null;
// What is going on with this line?  that doesn't compile.
//private static final String getHeader = this.properties.get(HEADER_PROPERTY, "");

public void setProperties(ValueMap properties){
this.properties = properties;
headerMessage = this.properties.get(HEADER_PROPERTY);
}

public String getHeaderMessage(){
return headerMessage;
}

当然,如果该映射的内容在初始化后确实发生了变化,那么它就无济于事了。

于 2013-04-26T20:37:19.883 回答