Жестко запрограммированный переключатель Java и хэш-карта

Некоторые классы Message могут возвращать имя тега на основе номера тега

. Поскольку экземпляры этого класса создаются много раз, мне немного не хочется создавать HashMap для каждого экземпляра :

public class Message {
  private HashMap<Integer,String> tagMap;

  public Message() {
    this.tagMap = new HashMap<Integer,String>();
    this.tagMap.put( 1, "tag1Name");
    this.tagMap.put( 2, "tag2Name");
    this.tagMap.put( 3, "tag3Name");
  }

  public String getTagName( int tagNumber) {
    return this.tagMap.get( tagNumber);
  }
}

. В пользу жесткого кодирования:

public class Message {
  public Message() {
  }

  public String getTagName( int tagNumber) {
    switch( tagNumber) {
      case 1: return "tag1Name";
      case 2: return "tag2Name";
      case 3: return "tag3Name";
      default return null;
    }
  }
}

Когда вы смешиваете все (Память, Производительность, GC,...)

Есть ли причина придерживаться HashMap?

14
задан MonoThreaded 13 May 2016 в 18:27
поделиться