[ Vuksha22 @ 18.09.2008. 17:02 ] @
Prilikom kompajliranja ovog koda
Code:

import java.util.*;

class SportskaKladionica {
    
    private HashMap utakmice;
    private HashMap tiketi;
    
    //singlton
    private static SportskaKladionica sk = new SportskaKladionica();
    private SportskaKladionica () {}
    public static SportskaKladionica pristup () 
    {
        return sk;
    }
    
    public void dodajUtakmicu(int id_utakmice, Match utakmica)
    {
        utakmice.put(id_utakmice, utakmica);
    }
    public void dodajTiket( int id_tiketa, Ticket tiket)
    {
        tiketi.put(id_tiketa, tiket);
    }
    
    
    public Match nadjiUtakmicu(int id_utakmice)
    {
        return utakmice.get(id_utakmice);
    }
    public Ticket nadjiTiket(int id_tiketa)
    {
        return tiketi.get(id_tiketa);
    }




, javlja mi sledecu gresku:

Citat:

SportskaKladionica.java:32: incompatible types
found : java.lang.Object
required: Match
return utakmice.get(id_utakmice);
^
SportskaKladionica.java:36: incompatible types
found : java.lang.Object
required: Ticket
return tiketi.get(id_tiketa);
^
SportskaKladionica.java:54: incompatible types
found : java.lang.Object
required: int
id_utak_sa_listica = me.getKey();
^
SportskaKladionica.java:55: incompatible types
found : java.lang.Object
required: int
tip_sa_listica = me.getValue();
^
Note: SportskaKladionica.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
4 errors


Probao sam i da kastujem povratnu vrednost, ali ne ide, ne znam zasto se ova greska uopste javlja.
Moze li neko da mi pomogne, zasto je to tako?
Hvala!
[ Au197/79 @ 18.09.2008. 18:17 ] @
Nisi konvertovao referencu koju dobijaš sa get. Starinsko rešenje je da napišeš:
Code:
return (Match) utakmice.get(id_utakmice);

A savremenije (java 5+) je da kod deklarisanja HeshMap referenci i instanciranja objekata koristiš generikse:
Code:
private HashMap<Integer, Match> utakmice = new HashMap<Integer, Match>();
[ Vuksha22 @ 20.09.2008. 23:33 ] @
Hvala, to je resilo problem :)