java-String 与Integer 的相互转化
⼀、Integer 转String
1、从Integer 类的源码可以看出,Integer 的静态⽅法toString()和成员⽅法toString()是⼀样的,成员⽅法⾥⾯仅仅是调⽤了静态⽅法⽽已。如下图所⽰:
通过toString()⽅法,可以把整数(包括0)转化为字符串,但是Integer 如果是null 的话,就会报空指针异常。
2、String.valueOf(Object obj)可以把整型(包括0)转化为字符串,但是Integer 如果是null 的话,会转化为”null”。从String.valueOf(Object obj)⽅法的源码可以看出:
3、当Integer 是null 的情况下,我们也希望String 是null ,上⾯的⽅法都没法做到。可以⾃⼰写⼀个⽅法:另外,Apache 提供的ObjectUtils.identityToString(Object obj)也可以实现。但是String(Object obj)不⾏,该⽅法会把null 转化为”“。
⼆、String 转Integer
当我们要把String 转化为Integer 时,⼀定要对String 进⾏⾮空判断,否则很可能报空指针异常。
//⽅法⼀:Integer 类的静态⽅法toString()Integer a = 2;String str = Integer .toString(a)//⽅法⼆:Integer 类的成员⽅法toString()Integer a = 2;String str = a.toString();//⽅法三:String 类的静态⽅法valueOf()Integer a = 2;String str = String .valueOf(a);
1
2
3
4
5
6
7
8
9
10
11 public static String valueOf (Object obj) { return (obj == null ) ? "null" : String(); }
1
2
3 public static String toString (Object obj) { return (obj == null ) ? null : String(); }
1
2
3String str = "...";
Integer i = null ;
java的tostring方法if (str !=null ){
i = Integer.valueOf(str );
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论