Tämä toimii:(rivinvaihdot johtuvat kapeasta palstasta, eivät ole koodissa)
String sKuukausi = sRivi.substring
(iEkaPiste 1, iTokaPiste);
int iKuukausi = (new Integer(sKuukausi)).intValue();
Onko muita mahdollisuuksia? Voiko tuon Stringin parsia intiksi ilman että tekee ensin Integeriä?
String sKuukausi = sRivi.substring
(iEkaPiste 1, iTokaPiste);
int iKuukausi = (new Integer(sKuukausi)).intValue();
Onko muita mahdollisuuksia? Voiko tuon Stringin parsia intiksi ilman että tekee ensin Integeriä?
Vastaukset 6
Vanhimmat
vaihtoehto 1:
int iKuukausi = (new Integer(sRivi.substring
(iEkaPiste 1, iTokaPiste))).intValue();
vaihtoehto 2: (josta en kyllä ole varma, mutta kokeile)
int iKuukausi = int(sRivi.substring
(iEkaPiste 1, iTokaPiste))
"Voiko tuon Stringin parsia intiksi ilman että tekee ensin Integeriä?"
Siis se int tarkoittaa nimen omaan integer- tietotyyppiä, siis int=integer
Niin siis int on primitiivityyppi, se ei ole olio. Integer taas on olio. Ts. Integeriin voi viitata, inttiin ei.
Niin ja J2SE 5.0 mahdollistaa seuraavan:
int i = new Integer(5);
Eli ns. AutoBoxing.
On esim. tulkitsemalla numerot yksitellen, java.text.NumberFormat- tai java.util.Scanner-luokalla.
new Integer(teksti).intValue() on hyvä tapa.
Vastaus:
...
int iKuukausi = Integer.parseInt(sKuukausi);