Avatar billede mik28 Seniormester
23. juni 2010 - 10:07 Der er 3 kommentarer og
1 løsning

.class

Hvad betyder

private static final Klassenavn Id = Id.getId(Klassenavn.class);

Det er betydningen af .class jeg er interesseret i
Avatar billede arne_v Ekspert
23. juni 2010 - 15:54 #1
Det returnerer et objekt af typen java.lang.Class for Klassenavn.

Man kan nemlig ikke kalde en metode med en klasse men kun med et objekt.

.class loeser dette problem.
Avatar billede arne_v Ekspert
23. juni 2010 - 16:17 #2
Eksempel paa brug:

package june;

import java.util.ArrayList;
import java.util.List;

public class ClassFun {
    public static <T> List<T> gen(int n, Class<T> clz) throws InstantiationException, IllegalAccessException {
        List<T> res = new ArrayList<T>();
        for(int i = 0; i < n; i++) {
            res.add(clz.newInstance());
        }
        return res;
    }
    public static void main(String[] args) throws Exception {
        List<A> alst = gen(3, A.class);
        for(A a : alst) {
            System.out.println(a);
        }
        List<B> blst = gen(3, B.class);
        for(B b : blst) {
            System.out.println(b);
        }
    }
}

class A {
    @Override
    public String toString() {
        return "I am an A";
    }
}

class B {
    @Override
    public String toString() {
        return "I am an B";
    }
}
Avatar billede mik28 Seniormester
08. juli 2010 - 16:44 #3
Tak for hjælpen. Ligger du et svar
Avatar billede arne_v Ekspert
08. juli 2010 - 16:53 #4
kommer her
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