hej!
Varför måste man göra en typecast på en vector för att få ut metoder ur objektet i vektorn??
ex:
if(((Publication)vec.elementAt(i)).getTitel().equals(titel))
.....
Det behöver man ju inte göra i en array
ex:
arr[0].metod()
4 svar · 336 visningar · startad av Sunix
hej!
Varför måste man göra en typecast på en vector för att få ut metoder ur objektet i vektorn??
ex:
if(((Publication)vec.elementAt(i)).getTitel().equals(titel))
.....
Det behöver man ju inte göra i en array
ex:
arr[0].metod()
Därför att arrayen är typad, medan vectorns elementAt returnerar ett generellt Object.
Du menar: Fordon[] fordon -- typen på arrayen är Fordon
Medans Vector vec = new Vector(); är inte typad,
Vilket gör att jag måste typcasta om vectorn?
Japp. Alla objekt i en vector (och ArrayList, LinkedList, HashMap osv) är av typen Object,dvs grund typen i Java och du måste specifisera vad det är för typ när du hämtar ut dem.
I Java 1.5 finns det dock Vectorer, listor och map's som är typade,
List<Publication> myPubList=new ArrayList<Publication>();
/Viktor
Tack!!!