Avatar billede kernelx Juniormester
29. oktober 2008 - 11:26 Der er 2 kommentarer og
1 løsning

saette en complex final value

Hi,

jeg har en HashMap<String,String>, hvor vaerdierne er faste (de aendres ingen staeder).

+++
HashMap<String,String> hash = new HashMap<String,String>();
hash.put( "a", "123" );
hash.put( "b", "124" );
+++

Mit problem er, at jeg gerne vil saette denne HashMap inklusive vaerdierne som en static final. Altsaa paa denne maade, at jeg ikke behoever at saette  vaerdiene andre staeder i denne java-application.

+++
public static final String test1 = "abc"; // virker
public static final HashMap<String,String> = new HashMap<String,String>(); // virker, men indeholder ingen vaerdier
+++

hvordan kan jeg centralt definere en class, som har en static-final HashMap<String,String> MED! faste vaerdier?

med venlig hilsen
KernelX
Avatar billede kernelx Juniormester
29. oktober 2008 - 11:35 #1
public static HashMap<String,String> init() {
  HashMap<String,String> hash = new HashMap<String,String>();
  hash.put( "a", "123" );
  hash.put( "b", "124" );
  return hash;
}
public static final HashMap<String,String> = TestClass.init();
Avatar billede kernelx Juniormester
29. oktober 2008 - 11:35 #2
lukket
Avatar billede arne_v Ekspert
29. oktober 2008 - 15:13 #3
OK loesning du har valgt.

Ville du goere lidt mere ud af det saa kunne du lave en singleton klasse som indeholdt
en HashMap, satte vaerdier i constructor, delegerede get til HashMap.

Evt. kunne den extende Map<String,String> og throwe exception i.s.f. at delegere put.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester