V tomto programu se naučíme převádět proměnné typu String na celé číslo (int) v Javě.
Abychom porozuměli tomuto příkladu, měli byste znát následující programovací témata Java:
- Datové typy Java (primitivní)
- Řetězec Java
Příklad 1: Program Java pro převod řetězce na int pomocí parseInt ()
class Main ( public static void main(String() args) ( // create string variables String str1 = "23"; String str2 = "4566"; // convert string to int // using parseInt() int num1 = Integer.parseInt(str1); int num2 = Integer.parseInt(str2); // print int values System.out.println(num1); // 23 System.out.println(num2); // 4566 ) )
Ve výše uvedeném příkladu jsme použili parseInt()
metodu Integer
třídy k převodu řetězcových proměnných na int
.
Zde Integer
je obálka třídy v Javě. Chcete-li se dozvědět více, navštivte třídu Java Wrapper.
Poznámka : Řetězcové proměnné by měly představovat int
hodnoty. Jinak kompilátor vyvolá výjimku. Například,
class Main ( public static void main(String() args) ( // create a string variable String str1 = "Programiz"; // convert string to int // using parseInt() int num1 = Integer.parseInt(str1); // print int values System.out.println(num1); // throws NumberFormatException ) )
Příklad 2: Program Java pro převod řetězce na int pomocí valueOf ()
Můžeme také převést řetězcové proměnné na objekt Integer
pomocí valueOf()
metody. Například,
class Main ( public static void main(String() args) ( // create string variables String str1 = "643"; String str2 = "1312"; // convert String to int // using valueOf() int num1 = Integer.valueOf(str1); int num2 = Integer.valueOf(str2); // print int values System.out.println(num1); // 643 System.out.println(num2); // 1312 ) )
Ve výše uvedeném příkladu valueOf()
metoda Integer
třídy převádí řetězcové proměnné na int
.
Zde valueOf()
metoda ve skutečnosti vrátí objekt Integer
třídy. Objekt je však automaticky převeden na primitivní typ. Tomu se v Javě říká unboxing. Chcete-li se dozvědět více, navštivte autoboxing a unboxing prostředí Java.
To znamená,
// valueOf() returns object of Integer // object is converted onto int int num1 = Integer obj = Integer.valueOf(str1)