2013-04-26 24 views
-1

有人在我的代码中提出了建议,以保存值为 HEADER_PROPERTY而不是整个属性图。首先我是 困惑什么好,然后我很困惑如何做到这一点。 012.this.properties引用用户在前端输入的属性。 Valuemap 是一种访问资源属性的方法。 GetHeaderMessage简单地从该值地图,每一次getHeaderMessage()被称为让我们猜测什么是初始化后永远不会改变的静态值输出的Java引用实例变量而不是整个地图

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; 
} 
+0

我不明白你的问题,也没有你的发布代码。你想达到什么目的? – 2013-04-26 20:33:45

+0

我能够实现我需要的东西。其中基本上吸引用户输入并显示它的属性 。我只是不明白为什么建议 是为了保存HEADER_PROPERTY的值而不是整个属性映射。 我想知道如果任何人a)明白,b)可以改善我的代码无论如何。 – 2013-04-26 20:36:49

+0

因为你根本就不需要别的东西 – 2013-04-26 20:41:53

回答

1

这是一个潜在的优化,因为你正在阅读的价值吗?如果每次访问时都从硬盘读取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; 
} 

当然,如果该地图的内容初始化之后,实际的变化,那么它并不能帮助。

+0

谢谢@Affe这正是我正在寻找的东西。 – 2013-04-27 02:25:20

相关问题