JAVA Sting int互转的注意

来源:互联网 发布:淘宝天猫网店交易平台 编辑:程序博客网 时间:2024/05/16 20:29

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)),也会抛异常,但会多产生一个对象

--------------------------------------------------------------------
//*******************************************//
如果是string num="55";int n=int.Parse(num);肯定能转化成功的,因为字符串本身就是数字.但是string num="aaaa";int n=int.Parse(num);aaaa能转化成什么数字呢?有点强人所难的意思了吧.另外如果char c='a';int n=(int)c;则n为a的ASC码值,也就是97.

原创粉丝点击