关于null、“”、“null”的一个问题
这个问题在论坛发过一次,这里记录一下吧。
就是一个a=null那打印a会是什么呢?
结果是"null"字符串。
有人说原因是
对String的+操作实际上是通过StringBuilder实现的,也就是append方法
该方法会将将null转换为“null”字符串,所以得到的结果是c="null"
import java.text.SimpleDateFormat;import java.util.Date;import java.util.Locale;public class testNull {/** * @param grossofans */public static void main(String[] args) {String a = null;String b = "";String c = b + a;// null+""=null ""+null=nullif (c == null) {System.out.println("null 空");}if ("null".equalsIgnoreCase(c)) {System.out.println("null 字符串");}if ("".equalsIgnoreCase(c)) {System.out.println("空字符串");}System.out.println(c == null);System.out.println(a == null);String bb = "|";String aa = null;Integer i = null;Object o = null;boolean s1 = true;boolean s2 = false;String cc = aa + bb + i + bb + o + bb + null + bb + s1 + bb + s2;System.out.println(cc);}} 1 楼 JeffLan 2011-10-12 引用对String的+操作实际上是通过StringBuffer实现的,也就是append方法