Как в java преобразовать число в строку

🔥 🚀 Важно для всех, кто работает с Java! 🔥
На JavaRocks ты найдешь уникальные туториалы, практические задачи и редкие книги, которых не найти в свободном доступе. Присоединяйся к нашему Telegram-каналу JavaRocks — стань частью профессионального сообщества!

В этой статье мы обсудим преобразование int (примитивный тип) и Object type (обертка) Integer в String. В Java есть много способов сделать это.

Как преобразовать int в строку в Java

Преобразовать int в строку, добавив пустую строку

Самый простой способ преобразовать int в String это просто добавьте к int или Integer пустую строку “” и вы получите на выходе тип String. Это происходит потому, что добавление к int типу переминной типа String дает вам новую String. Это означает, что если у вас есть int x = 5, просто напишите x + "" и вы получите новую строку.

Вот пример:

public class Demo {
   public static void main(String[] args) {

       int x = 5;
       
       String xText = x + "";
       
       System.out.println("convert int to String, Java: " + xText);
       
       System.out.println("our int: " + x);
       
       System.out.println("adding int = 5 and String = \"5\". The result is a new String = " + xText + x);
       
       Integer y = 7;
       String yText = y + "";
       System.out.println("convert Integer to String: " + yText);
       System.out.println("our Integer: " + y);
       System.out.println("adding Integer = 7 and String = \"7\". The result is a new String = " + y + yText);
   }
}
Run Code

Вывод:

convert int to String, Java: 5
our int: 5
adding int = 5 and String = "5". The result is a new String = 55
convert Integer to String: 7
our Integer: 7
adding Integer = 7 and String = "7". The result is a new String = 77

Java преобразует int в строку с помощью Integer.toString(int)

Класс Object является корневым классом в Java. Это означает, что каждый класс Java напрямую или косвенно унаследован от класса Object, и все методы класса Object доступны для всех классов Java.

Object имеет специальный метод toString() для представления любого объекта в виде строки. Таким образом, каждый класс Java также наследует этот метод. Однако правильнее будет переопределить этот метод в собственных классах, чтобы получить нормальный, логичный результат.

Метод toString() класса Integer возвращает объект String, представляющий собой указанный параметр int или Integer.

Его синтаксис:

public static String toString(int i)
Run Code

Метод преобразует аргумент i и возвращает его как экземпляр строки. Если число отрицательное, знак будет сохранен.

Пример:

public class Demo {
   public static void main(String[] args) {

       int x = -5;
       
       String xText = Integer.toString(x);
       
       System.out.println("convert int to String: " + xText);
       
       System.out.println("our int: " + x);
       
       System.out.println("converting int = -5 and adding to String = \"-5\". The result is a new String = " + xText + Integer.toString(x));


   }
}
Run Code
convert int to String: -5
our int: -5
converting int = -5 and adding to String = "-5". The result is a new String = -5-5

Вы также можете использовать метод toString для преобразования Integer (тип обертка).

Integer number = -7;
String numberAsString = Integer.toString(number);
System.out.println("convert Integer to String: " + numberAsString);
Run Code
Результат:преобразовать целое число в строку: -7

Вы можете использовать специальный Integer.toString method toString(int i, int base), который возвращает строковое представление числа i с основанием base и затем преобразовать в String. Например

Синтаксис следующий:

public static String toString(int i, int base)
Run Code

Вот пример:

int a = 255;

String customString = Integer.toString(a, 2);
System.out.println(customString);
Run Code

Выходные данные представляют собой строковое двоичное представление десятичного числа 255:

11111111

Преобразовать int в String с помощью String.valueOf(int)

Метод String.valueOf(int)возвращает строковое представление аргумента int.

Синтаксис метода следующий:

public static String valueOf(int i)
Run Code

Вот пример преобразования int в String с помощью Java
String.valueOf(int):

public class Demo {
   public static void main(String[] args) {
       int z = -5;
       
 String zText = String.valueOf(z);
       
       System.out.println("convert int to String: " + zText);
       
       System.out.println("our int: " + z);
       
       System.out.println("converting int = -5 and adding to String = \"-5\". The result is a new String = " + zText + z);
   }
}
Run Code
convert int to String: -5
our int: -5
converting int = -5 and adding to String = "-5". The result is a new String = -5-5

То же самое можно сделать с Integer (тип-обертка int):

Integer number = -7;
String numberAsString = String.valueOf(number);
System.out.println("convert Integer to String: " + numberAsString);
Run Code

Результат будет следующим:преобразовать целое число в строку: -7

Преобразовать int в строку с помощью DecimalFormat

java.text.DecimalFormat— это класс, определенный в java.text package и являющийся подклассом NumberFormat. Он используется для форматирования десятичного числа в строку, представляющую собой определенный шаблон. Мы можем использовать его также для целых чисел.

Пример:

import java.text.DecimalFormat;
public class Demo {
   public static void main(String[] args) {
       int myNumber = 31415;
       DecimalFormat decimalFormat = new DecimalFormat("#");
       String myNumberAsString = decimalFormat.format(myNumber);
       System.out.println(myNumberAsString);
   }
}
Run Code

Вывод:

31415

Преобразовать int в строку с помощью String.format()

String.format() — еще один способ преобразования Integer в String Object

Синтаксис

public static String format(String format, Object... args)
Run Code

Пример

public class Demo {
   public static void main(String[] args) {
       int myNumber = 35;
       String myNumberAsString = String.format("%d", myNumber);  
       System.out.println(myNumberAsString);
   }
}
Run Code

Вывод:

35

Обработка особых случаев

Преобразование целых чисел в строки является фундаментальной концепцией в Java, но есть несколько аспектов, которые часто упускаются из виду. Мы углубимся в три основные темы, которые дополняют основы преобразования целых чисел в строки.

1. Обработка больших целых чисел с помощью long или BigInteger

Стандартные int типы в Java имеют максимальное значение 2,147,483,647 (Integer.MAX_VALUE). Для многих приложений этого диапазона достаточно, но что делать, если вам нужно обрабатывать числа, выходящие за этот предел? Вот где long и BigInteger вступают в игру.

Вот как можно обрабатывать большие целые числа и преобразовывать их в строки:

С использованием long

long largeNumber = 9223372036854775807L; // Maximum value of long
String largeNumberString = Long.toString(largeNumber);
System.out.println(largeNumberString); // Output: "9223372036854775807"
Run Code

С использованием BigInteger

import java.math.BigInteger;

BigInteger hugeNumber = new BigInteger("123456789123456789123456789");
String hugeNumberString = hugeNumber.toString();
System.out.println(hugeNumberString); // Output: "123456789123456789123456789"
Run Code

Класс BigInteger идеально подходит для сценариев, включающих чрезвычайно большие числа, такие как криптография или научные вычисления. В отличие от long, который имеет фиксированный диапазон, BigIntegerможет обрабатывать произвольно большие числа, что делает его мощным инструментом для разработчиков.

2. Преобразование отрицательных целых чисел в строки

Преобразование отрицательных целых чисел в строки может показаться простым, но есть нюансы, которые следует учитывать. Java гарантирует сохранение знака минус "-" во время преобразования, но разработчикам необходимо понимать, как работает этот процесс, особенно при форматировании или манипулировании строками.

Давайте рассмотрим пример:

int negativeNumber = -123;
String negativeNumberString = Integer.toString(negativeNumber);
System.out.println(negativeNumberString); // Output: "-123"
Run Code

При работе с пользовательским форматированием или конкатенацией строк необходимо убедиться, что знак минус остается. Например:

int negativeNumber = -456;
String formattedString = "The number is " + negativeNumber;
System.out.println(formattedString); // Output: "The number is -456"
Run Code

Однако будьте осторожны при ручной обработке строк:

int negativeNumber = -789;
String manualConversion = String.valueOf(Math.abs(negativeNumber)) + "-";
System.out.println(manualConversion); // Output: "789-", which is incorrect
Run Code

Чтобы избежать проблем, всегда полагайтесь на встроенные методы Java для преобразования отрицательных чисел.

3. Польза преобразования целых чисел в строки

Вот несколько распространенных сценариев, где эта операция очень полезна и нужна:

  • Манипулирование данными: преобразование целых чисел в строки часто требуется при работе с базами данных, API или файловыми системами, где данные хранятся в виде текста.
  • Пользовательские интерфейсы: при отображении чисел пользователям в графических интерфейсах или веб-приложениях строки являются основным форматом для представления данных.
  • Разработка алгоритмов: некоторые алгоритмы, такие как сортировка на основе строк или сопоставление с образцом, полагаются на числа, представленные в виде строк.
  • Ведение журнала и отладка: преобразование чисел в строки упрощает их включение в log файлы или выходные данные отладки.

Вот пример форматирования чисел для удобного отображения:

int score = 100;
String message = "Your score is: " + Integer.toString(score);
System.out.println(message); // Output: "Your score is: 100"
Run Code

Устранение неполадок при конвертации

В следующем разделе рассматриваются некоторые упущенные в исходном обсуждении аспекты, особое внимание уделяется исключениям, обработке значений NULL и устранению распространенных неполадок.

1. NumberFormatExceptionво время преобразования типов

Одной из распространенных проблем при преобразовании чисел является NumberFormatException. Это происходит, когда вы пытаетесь преобразовать строку в целое число, но строка не имеет допустимого числового формата.

Пример сценария

try {
    String invalidNumber = "abc123";
    int number = Integer.parseInt(invalidNumber); // This will throw NumberFormatException
} catch (NumberFormatException e) {
    System.out.println("Invalid number format: " + e.getMessage());
}
Run Code

В этом примере строку "abc123"невозможно преобразовать в целое число, что приводит к NumberFormatException. Используя try-catch блок, мы справляемся с этим и избегаем сбоя программы.

Лучшие практики

  • Всегда проверяйте введенные пользователем данные, например на их тип, прежде чем пытаться их использовать в коде программы.
  • Используйте try-catch блоки для перехвата и обработки исключений.
  • Рассмотрите возможность использования регулярных выражений, чтобы гарантировать, что строки имеют допустимый числовой формат.

2. Обработка нулевых значений для предотвращенияNullPointerException

Другая распространенная проблема при преобразовании целых чисел в строки касается нулевых значений. Если обрабатывается значение Null, это может привести к NullPointerException, потенциально приводящему к сбою программы. Эффективная обработка null значений обеспечивает успешное выполнение кода.

Пример: избеганем null проблемы

Integer nullableNumber = null;

try {
    String numberString = String.valueOf(nullableNumber); // Safe handling of null
    System.out.println("Converted number: " + numberString);
} catch (NullPointerException e) {
    System.out.println("Null value cannot be converted.");
}
Run Code

Метод String.valueOf()обрабатывает значения null, возвращая строку “null” вместо выдачи исключения. Это часто более безопасный выбор, чем методы вроде toString(), которые могут не обрабатывать null значения.

Лучшие практики

  • Используйте String.valueOf()вместо , toString()когда возможны значения типа Null
  • Перед попыткой преобразования явно проверьте на наличие null:
if (nullableNumber != null) {
    System.out.println(nullableNumber.toString());
} else {
    System.out.println("Number is null.");
}
Run Code

3. Устранение распространенных проблем с конвертацией типов

Раздел устранения неполадок может быть бесценным для разработчиков, столкнувшихся с ошибками конвертации. Вот краткое руководство по решению распространенных проблем:

Распространенные проблемы и решения

ПроблемаПричинаРешение
NumberFormatExceptionСтрока содержит нечисловые символы.Проверяйте входные данные с помощью регулярных выражений или библиотек, таких как Apache Commons Lang.
NullPointerExceptionПопытка вызова toString()на значении nullИспользуйте String.valueOf()или проверьте на null перед преобразованием.
Неожиданный результатНеправильная обработка отрицательных чисел или форматирование.Убедитесь, что логика учитывает все пограничные случаи, включая отрицательные целые числа и специальные требования к форматированию.

Советы по отладке

  • Логируйте входные значения перед выполнением преобразований типов, чтобы выявить проблемы на ранней стадии.
  • Используйте модульные тесты для проверки правильности логики преобразования.
  • Используйте инструменты отладки в вашей IDE, чтобы отслеживать ход выполнения и выявлять проблемный код.

Перевод статьи «How to convert int to String in Java».

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх