String和Integer
Integer 转 String
//使用toString(),必须保证Integer对象不是null,否则会抛出NullPointerException异常
Integer i = 1;
String s = i.toString();
//使用Integer.toString(),同样必须保证Integer不是null
Integer i = 1;
String s = Integer.toString(i);
//使用String.valueOf(),如果Integer是null,则转换结果是字符串"null",注意不是null对象
Integer i = 1;
String s = String.valueOf(i);
以上3种方法都是java自带的转换,假如现在我们希望当Integer为null时,转换结果也是null对象,则需要使用另外的方式。比如hutool的NumberUtil就可以实现。
<!--引入hutool依赖-->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.3.5</version>
</dependency>
//使用NumberUtil.toStr(),第2个参数是当i==null时,返回的默认值,可以自定义
Integer i = 1;
String s = NumberUtil.toStr(i, null);
看下其源码如下,可以通过defaultValue传参来实现我们的需求
public static String toStr(Number number, String defaultValue) {
return null == number ? defaultValue : toStr(number);
}
String 转 Integer
//使用Integer.valueOf,必须保证s!=null,否则抛出空指针异常
String s = 1;
Integer i = Integer.valueOf(s);