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....