Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Hvis man nu mere generelt har en array af referencer a la: MinKlasse1 m1; MinKlasse2 m2; MinKlasse3 m3; MinKlasse[] m={m1,m2,m3};
- hvor MinKlasse1, MinKlasse2 og MinKlasse3 alle arver fra/implementerer MinKlasse, vil jeg gerne kunne spole igennem m og oprette objekter af de respektive klasser.
for (int i = 0; i < m.length; i++) { Class cl = MinKlasse.class; Constructor con = cl.getConstructor(new Class[] {boolean.class}); m[i] = (MinKlasse)con.newInstance(new Object[]{true}); }
->mikkelbm: Nej, det vil ikke kompilere, fordi m[i] ikke er initialiseret - og måske er det svaret på mit spm.: Det giver ikke mening at ville referere til "m", hvis ikke "m" er initialiseret. En fredelig workaround er dog at oprette:
Class[] classes={MinKlasse1.class, MinKlasse2.class, MinKlasse3.class}; - og så tage classes med i for-løkken, altså noget med:
MinKlasse1 m1; MinKlasse2 m2; MinKlasse3 m3; MinKlasse[] m={m1,m2,m3}; Class[] classes={MinKlasse1.class, MinKlasse2.class, MinKlasse3.class}; for (int i = 0; i < m.length; i++) { Class cl = classes[i]; Constructor con = cl.getConstructor(new Class[] {boolean.class}); m[i] = (MinKlasse)con.newInstance(new Object[]{true}); }
->mikkelbm: For så vidt enig, men hvis ikke det kan lade sig gøre at undvære linien med Class[] classes=... er det nok den bedste løsning.
Synes godt om
Ny brugerNybegynder
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.