你好 我查看了jdk文档,大胆猜测下~~·
String s1=new String();
String s2=new String("");
这两个都是new了一个空字符串,详见JDK中String构造方法:
构造方法:String() 初始化一个新创建的 String 对象,它表示一个空字符序列。
构造方法:String(String original) , 初始化一个新创建的 String 对象,表示一个与该参数相同的字符序列
就是说他们两个都是空字符串,equals是相同的
再看StringBuffer
StringBuffer buffer=new StringBuffer();
StringBuffer buffer1=new StringBuffer("");
构造方法:StringBuffer() 构造一个其中不带字符的字符串缓冲区,其初始容量为 16 个字符。
构造方法:StringBuffer(String str) 构造一个字符串缓冲区,并将其内容初始化为指定的字符串内容。
两者构造出来之后一个初始化过 一个没有初始化过 所以不一样。。。
大概是这样。。不肯定。。。 |