Menu
CoddyTech

Konwersja typów — część 2

Część sekcji Podstawy ścieżki Java w Coddy. Lekcja 14 z 73.

Można również konwertować liczby i wartości logiczne na ciągi znaków i odwrotnie. Aby przekonwertować wartość na ciąg znaków, możemy użyć funkcji String.valueOf():

int number1 = 789;
double number2 = 789;
boolean isValid = true;
String text1 = String.valueOf(number1); // staje się "789"
String text2 = String.valueOf(number2); // staje się "789.0"
String text3 = String.valueOf(isValid); // staje się "true"

Konwersja ciągu znaków na inny typ jest nieco bardziej skomplikowana:

String to Integer:

String numberText = "123";
int number = Integer.parseInt(numberText);    // przyjmuje wartość 123

String to Double:

String decimalText = "45.67";
double decimal = Double.parseDouble(decimalText);    // przyjmuje wartość 45.67

String to Boolean:

String boolText = "true";
boolean bool = Boolean.parseBoolean(boolText); // przyjmuje wartość true

parseBoolean przekonwertuje każdy ciąg znaków o wartości „true”, niezależnie od wielkości liter. Na przykład True, tRue i TRUE wszystkie zostaną przekonwertowane na true. Każdy inny ciąg znaków, na przykład "yes" lub "1", zostanie przekonwertowany na false (nie zostanie zgłoszony żaden wyjątek).

Próba przekonwertowania ciągu znaków na nieprawidłowy typ spowoduje błąd:

String invalidNumber = "abc";
int number = Integer.parseInt(invalidNumber); // To spowoduje wyjątek NumberFormatException

Łańcuch znaków reprezentujący liczbę dziesiętną, taki jak "12.5", również jest nieprawidłowy dla Integer.parseInt() i powoduje wyjątek NumberFormatException: w przypadku liczb dziesiętnych użyj Double.parseDouble().

Spróbuj swoich sił

Ta lekcja nie zawiera wyzwania z kodem.

quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator Java online