我在代码里面想实现一个将Object对象打印的功能,具体的代码如下:
public class JavaJsonDemo {
/**
* @param args
*/
public static void main(String[] args) {
Object value = null;
String str = "value=" + value;
System.out.print(str);
}
}
这单代码是可以正常执行的。
但是,如果将代码改为
/**
* @param args
*/
public static void main(String[] args) {
Object value = null;
@SuppressWarnings("null")
String str = "value=" + value.toString();
System.out.print(str);
}
就会报空指针的异常。
我的问题是:
java字符串在进行“+”操作的时候,难道不是调用的toString方法吗?如果是,那么第一种场景为什么可以顺利的被转换为null打印?