<Object> eller <String>?

Tags:    java

Jeg har koden:
Fold kodeboks ind/udKode 

Dette er fordi der nogle gange skal bruges char[], Integer eller String. Jeg vil gerne kunne gøre sådan at test<String> ser sådan her ud:
public void testFunktion(String o);
Og at test<Integer> ligeledes ligner dette:
public void testFunktion(Integer o);




6 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
det kan du gøre således:

public interface test<T>
{
public void testFunktion(T o);
}

når du implementerer dette interface i en klasse skriver du "implements test<type>" hvor type er den type du skal bruge, øverst i klasse deklarationen.

hvis det ikke var det du skulle bruge så skriv lige tilbage, og præciser det lidt yderligere.

mvh
Troels



Indlæg senest redigeret d. 24.03.2007 22:49 af Bruger #2967
Jeg har ikke lige testet det, men du skulle kunne bruge det man kalder overloading. Det betyder du oprettet flere funktioner med det samme navn, som tager forskelligt input.

Fold kodeboks ind/udKode 






det kan du gøre således:

public interface test<T>
{
public void testFunktion(T o);
}

når du implementerer dette interface i en klasse skriver du "implements test<type>" hvor type er den type du skal bruge, øverst i klasse deklarationen.

hvis det ikke var det du skulle bruge så skriv lige tilbage, og præciser det lidt yderligere.

mvh
Troels

Genialt! Kan man også lave:
public interface test<T, T2>
{
public void testFunktion(T o);
public void enAndenFunktion(T2 o);
}




ja men kald den noget andet end T2, f.eks. E eller F

Man kan en del med javas generiske typer, du også sige at anden parametren skal være en subtype af den første parameters type således <E, F extends E>

mvh
Troels

ps. du behøves ikke erklære dine metoder i et interface public, de er public som standard.



Tusind tak Troels!:) Jeg tester det lige, og vender så tilbage:)







t