问题:时区转换问题,一共有90个左右的时区,一开始写的是超级多的switch…case
代码IT规范不通过,一个方法的行数不宜过长,需要整改。
整改一:
将所有的时区信息存进.properties文件,通过Properties这个类来读取。
Properties properties = new Properties();
properties.load("")…加载你的配置文件
properties.getProperty(“city”); 根据key(城市)获取对应的时区
日常被大佬怼,我们的创会接口对性能要求很高,这样你每创会一次,都要new对象,然后还要读文件,性能很低的知道吧,闹呢???
继续整改:
使用@Postcontruct注解,我们最终的目的是要获取时区信息,我们提前将配置文件里面的时区信息存进HashMap中,然后根据key取,为什么要存进HashMap中,因为HashMap是非线程安全的,效率很高。
@Postcontruct
private void setData() {
1、读取配置文件的所有时区信息
Properties properties = new Properties();
properties.load("")…加载你你的配置文件
Map map = new HashMap();
2、通过
Set<Entry<Object, Object>> entrySet = properties .entrySet();
for (Entry<Object, Object> entry : entrySet) {
map.put((String) entry.getKey(), (String) entry.getValue());
}
这里的Map你就可以用起来了,效率杠杠的。