Mitkä ovat Javan valmiin kaluston käytetyimmät metodit?
Eli ne, joita ei tarvitse importoida erikseen.
Mielestäni String luokan
CompareTo
method on tärkeä.
Javassa kaikki luokat paitsi Object ovat Objectin aliluokkia. Käytetyin on siis jokin sivulta http://java.sun.com/j2se/1.3/docs/api/java/lang/
Hyvä pointti!
Mitkä ovat Javan käytetyimmät metodit, jotka ovat Objectin aliluokkia?
Mikähän järki tässäkin aiheessa on?
Mitä ihmettä tarkoitat metodeilla, jotka ovat Objectin aliluokkia? Metodit kun eivät ole luokkia ollenkaan, joten eivät ne voi myöskään aliluokkia olla.
Tarkoitatko olioita joiden metodeja käytetään ikään kuin korvaamaan muiden kielien staattisia metodeja, esim System.out ?
hevonen kirjoitti:
Hyvä pointti!
Mitkä ovat Javan käytetyimmät metodit, jotka ovat Objectin aliluokkia?
toString() tietenkin, eihän siitä ole epäilystäkään.
@ville-v: Hyvä metodi!
Eli listassa on nyt:
1. compareTo()
2. toString()
@Janezki: en tarkoita, vaan metodeita, joista on "konkreettista hyötyä". Listan pitäisi sisältää metodit, jotka ovat aloittevalle Java-koodarille hyödyksi.
@Sami: hyvä selvennys!
Väittäisin, että Object.equals(Object) on vielä hyödyllisempi ja enemmän käytetty kuin Object.toString(). toString on kätevä debuggatessa, mutta equals on välttämätön ohjelman toiminnan kannalta (esim. useat Collectionsien metodeista käyttävät equalsia).
Selvitin äsken, että kuinka monessa kohtaa noita metodeja käytetään JDK 6:ssa. equals-metodia käytetään 4434 kertaa, kun taas toString:iä käytetään vain 1920 kertaa. Laskutapana IntelliJ IDEA:n "find usages":n tuottama "unclassified usage" -lukema (meinasi jo muisti loppua haun aikana - equals:n haku kulutti muisia lähes gigan, mutta toString:n haku vain vajaa 700 megaa). Object-luokan vähiten käytetty metodi on finalize(), jota kutsutaan vain natiivikoodista (tosin jos lasketaan kutsukertoja, niin sitä kutsutaan kerran jokaiselle oliolle, eli melko monta kertaa).
Jos taas kysytään, että mitkä ovat tärkeimpiä luokkia, niin näiden pakkausten sisältö on syytä tuntea hyvin:
java.lang
java.util (ja java.util.concurrent)
java.io
javax.swing (ja java.awt)
Lisäisin vielä sellaiset paketit kuin
- java.math
- java.util.regex
Lista näyttää nyt tältä:
1. compareTo()
2. Object.equals(Object) (!samanlainen kuin toString)
3. java.lang
4. java.util (ja java.util.concurrent)
5. java.io
6. javax.swing (ja java.awt)
7. java.math
8. java.util.regex
@Jackal: Kiitos yksityiskohtaisesta viestistä!
@Mega: Hyvin täydennetty! Unohdin nuo ihan täysin.
Lista vaikuttaa täydelliseltä. Kommentoi, jos listasta puuttuu tärkeitä metodeita.
Yksi aika oleellinen paketti luokkineen ja metodeineen (erit. kun käytetään tietokantoja) tuli vielä mieleen:
- java.sql
Aihe on jo aika vanha, joten et voi enää vastata siihen.