Integer it = i; String str3 = it.toString();//第三种

第一种:String.valueOf方法分析

入参为字符类型,当值为NULL的时候,会报空指针异常

入参为对象类型,当值为NULL的时候,会返回一个"null"字符串.

public static String valueOf(Object obj) {
    return (obj == null) ? "null" : obj.toString();
@NotNull
public static String valueOf(char data[]) {
    return new String(data);

第二种:可能出现返回null

Integer s=null; System.out.println(s+""); //输出结果:null

第二种:可能出现NullPointerException

Integer s=null; System.out.println(s.toString()); //输出:Exception in thread "main" java.lang.NullPointerException

处理方式:推荐使用以下方式进行处理

避免对象返回空串"null"的情况,有两种方式

方式一:自己写一个方法

public static String objectToString(Object obj) {
  if(obj == null) {
      return "";
  return obj.toString();

方式二:调用方法先判断不为NULL

if(Objects.isNull()){ return "" } return String.valueOf(obj);
因为String.valueOf(null)选择带有char []参数的重载方法,然后在新的String(null)构造函数中失败.这个选择是在编译时进行的.如果要使用Object参数显式使用重载方法,请使用:String.valueOf((Object) null)请注意,没有重载的方法使用String参数 – 在第一种情况下调用的方法是采用Object.引用JLS:15.12.2 Compil... 需要注意的是,String.valueOf() 方法并不是将一个对象直接换成字符串,而是通过对象的 toString() 方法将其换成字符串类型的值。因此,如果一个对象没有重写 toString() 方法,那么 String.valueOf(obj) 方法返回的将是对象的类名和哈希码的形式,而不是我们期望的字符串值。String.valueOf() 是一个静态方法,它可以将一个对象换成一个字符串类型的值,返回值是一个字符串对象。将基本数据类型换成字符串类型。将对象类型换成字符串类型。 一、String.valueOf()当传入的参数为一个引用且该引用为 null 时,方法返回字符串“null” 简言之,如果对象为 null 就返回字符串的“null”,不为空就调用 toString 方法。此时若用StringUtils.isBlank()这类方法判断时将返回 true。该方法的源码如下(jdk1.8.0_131中String的部分源码): 特别注意: valueOf() 可能会返回“null”字符串,不能用 StringUtils.isEmpty() 或 isBlank() 来简单地判 1. 由 基本数据型态换成 String  String 类别中已经提供了将基本数据型态换成 String 的 static 方法  也就是 String.valueOf() 这个参数多载的方法  有下列几种  String.valueOf(boolean b) : 将 boolean 变量 b 换成字符串  String.valueOf(char c) : 将 char 变量 c 今天调试EXCEL导出的时候,部分数据未查出来,然后导出后显示为null,这个问题,我第一想法就是数据设置问题,查出来的数据,在往实体类中设置的时候,为null导致导出也为null,然后我就到后台设置了一下,设置为: content[i][24]=String.valueOf(map.get("category1"))==null?"":String.valueOf(map.get("... String.valueOf()将基本数据型态换成 String String.valueOf(boolean b) : 将 boolean 变量 b 换成字符串  String.valueOf(char c) : 将 char 变量 c 换成字符串  String.valueOf(char[] data) : 将 char 数组 data 换成字符串  String.va 进制换基本语句 System.out.println(Integer.toBinaryString(arg0));//十进制换为二进制 System.out.println(Integer.toOctalString(arg0));//十进制换为八进制 System.out.println(Integer.toHexString(arg0));//十进制换为十六进制 System.out....