java中string和int互相转化
String -> int
A. 有两个方法:
1). int i = Integer.parseInt([String]); 或
i = Integer.parseInt([String],[int radix]);
其中radix表示转换进制,可取2,8,10,16等
2). int i = Integer.valueOf(my_str).intValue();
其中,Integer.valueOf()和Integer.parseInt()都可将String转换为int类型数据,区别如下:
new Integer.valueof()返回的是Integer的对象。
Integer.parseInt() 返回的是一个int的值。
new Integer.valueof().intValue();返回的也是一个int的值。
注: 字串转成 Double, Float, Long 的方法大同小异。如下:
String str2 = "3275.42";
double d = Double.parseDouble(str2);
int -> String
A. 有叁种方法:
1.) String s = String.valueOf(i);
2.) String s = Integer.toString(i);
3.) String s = "" + i;
注: Double, Float, Long 转成字串的方法大同小异.
下面来讲一下这几种方式的不同区别: int i = Integer.parseInt([String]) //直接使用静态方法,不会产生多余的对象,但会抛出异常int i = Integer.valueOf(my_str).intValue() //相当于 new Integer(Integer.parseInt(s)),也会抛异常,但会多产生一个对象String s = Integer.toString(i); //直接使用String类的静态方法,只产生一个对象String s = "" + i; //会产生两个String对象
示例代码如下:
public class TypeChange { public TypeChange() { } //change the string type to the int type public static int stringToInt(String intstr) { Integer integer; integer = Integer.valueOf(intstr); return integer.intValue(); } //change int type to the string type public static String intToString(int value) { Integer integer = new Integer(value); return integer.toString(); } //change the string type to the float type public static float stringToFloat(String floatstr) { Float floatee; floatee = Float.valueOf(floatstr); return floatee.floatValue(); } //change the float type to the string type public static String floatToString(float value) { Float floatee = new Float(value); return floatee.toString(); } //change the string type to the sqlDate type public static java.sql.Date stringToDate(String dateStr) { return java.sql.Date.valueOf(dateStr); } //change the sqlDate type to the string type 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); String str = "00124"; int i = TypeChange.stringToInt(str); System.out.println(i); } }