1、共同点:toString和String.valueOf都可以将对象转换为字符串
JSONObject obj = new JSONObject();
obj.put("name", "xiaoming");
System.out.println("toString=>" + obj.toString());
System.out.println("String.valueOf=>" + String.valueOf(obj));
打印结果为
2、不同点:当对象为null时,使用toString会报错,而使用String.valueOf会返回字符串"null"
JSONObject obj = null;
try {
System.out.println("toString=>" + obj.toString());
}catch (Exception e) {
e.printStackTrace();
}
System.out.println("String.valueOf=>" + String.valueOf(obj));
System.out.println(String.valueOf(obj).getClass().getName());
打印结果为