Tervehdys,
Tuossa tarvitsin java.util.Date -luokasta seuraavaa konstrukoria:
Date(int year, int month, int date)
Deprecated. As of JDK version 1.1, replaced by Calendar.set(year + 1900, month, date) or GregorianCalendar(year + 1900, month, date).
Eli tuo deprecated meinaa ilmeisesti että se on "vanhentunut" tjsp. Koitin sitten tuosta Calendar-luokasta säätää jotakin, mutta Calendar-luokkahan on abstrakti. Miten siis saisin tuon saman alkuperäisen Date-konstruktorin vastaavan konstruktorin pelaamaan tuosta Calendar-luokasta.
Sain muuten tuon Calendarin ilmeisesti jotenkin toimimaan; kääntäjä antoi pari virheilmoitusta, mutta ajoin ohjelmaa ja kyllä ne näytti toimivan.
Kertokaapa tyhmälle, miten kääntäjä antaa virheilmoituksia, mutta ohjelma näyttää toimivan normaalisti ???? Tuntuisi, että jossain tapauksisssa virheilmoitukset olisi vähän kuten C-kääntäjän warningit...
Calendar calendar = Calendar.getInstance(); calendar.set(year, month, date); Date date = calendar.getTime();
Deprecated tarkoittaa, että jokin funtio on tosiaan vanhentunut ja sen on korvannut jokin parempi tapa. Nämä funktiot ovat mukana API:ssa vain yhteensopivuuden säilyttämiseksi vanhojen java-versioiden kanssa. Kääntäjä ei kuitenkaan keskeytä käännöstä tälläisen virheen takia. Muistaakseni oli myös joku komentoriviparametri java:lle, jolla noi deprecated valitukset sai pois jos välttämättä haluaa.
Eli javassa on tosiaan myös varoituksia, vaikka moni C:n warning onkin javassa käännöksen keskeyttävä virhe.
Kiitoksia FooBatille jeesistä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.