1 Как преобразовать String в int?

A. Есть два метода:

  • 1, int i = Integer.parseInt([String]);илиi = Integer.parseInt([String],[int radix]);
  • 2, int i = Integer.valueOf(my_str).intValue();

Примечание: методы преобразования строк в Double, Float и Long по сути одинаковы.

2 Как преобразовать int в String?

A. Есть три метода:

  • 1, String s = String.valueOf(i);
  • 2, String s = Integer.toString(i);
  • 3, String s = "" + i;

Примечание: методы преобразования Double, Float и Long в строки по сути одинаковы.

int -> String

int i=12345;

String s="";

Первый метод:s=i+"";

Второй метод:s=String.valueOf(i);

В чем разница между этими двумя методами? Их функции одинаковы? Можно ли их взаимозаменять в любой ситуации?

String -> int

s="12345";

int i;

Первый метод:i=Integer.parseInt(s);

Второй метод:i=Integer.valueOf(s).intValue();

В чем разница между этими двумя методами? Их функции одинаковы? Можно ли их взаимозаменять в любой ситуации?

Ниже приведен ответ:

Первый метод:s=i+""; // Это создаст два объекта String

Второй метод:s=String.valueOf(i);// Прямое использование статического метода класса String создает только один объект

Первый метод:i=Integer.parseInt(s);// Прямое использование статического метода не создает лишних объектов, но оно выбросит исключение

Второй метод:i=Integer.valueOf(s).intValue();//Integer.valueOf(s) эквивалентно new Integer(Integer.parseInt(s)); оно также выбрасывает исключение, но создает один дополнительный объект.

Преобразование типов данных в Java

Это пример преобразования типов данных в Java для изучения и справки.

Пример

import java.sql.Date; public class TypeChange { public TypeChange() { } //преобразовать тип string в тип int public static int stringToInt(String intstr) { Integer integer; integer = Integer.valueOf(intstr); return integer.intValue(); } //преобразовать тип int в тип string public static String intToString(int value) { Integer integer = new Integer(value); return integer.toString(); } //преобразовать тип string в тип float public static float stringToFloat(String floatstr) { Float floatee; floatee = Float.valueOf(floatstr); return floatee.floatValue(); } //измените тип float на тип string public static String floatToString(float value) { Float floatee = new Float(value); return floatee.toString(); } //измените тип string на тип sqlDate public static java.sql.Date stringToDate(String dateStr) { return java.sql.Date.valueOf(dateStr); } //измените тип sqlDate на тип string public static String dateToString(java.sql.Date datee) { return datee.toString(); } public static void main(String[] args) { java.sql.Date day ; day = TypeChange.stringToDate("2003-11-3"); String strday = TypeChange.dateToString(day); System.out.println(strday); } }