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);
posted on 2020-09-11 11:19  风停了,雨来了  阅读(192)  评论(0编辑  收藏  举报