String str = "abc";等效于:
char data[] = {'a', 'b', 'c'}; String str = new String(data);
public static void main(string [] arg)
{
String s1="abc";s1是一个类类形变量,那么s1就不是一个对象?<-------------------s1不是对象,这里的对象是指"abc",
String s2=new String("abc");s2中有那两个对象?s2是一个对象?new了一个"abc"对象?这句话的意思是对象指向对象吗?《----------这里的两个对象是指"abc"是一个对象,new String()是一个对象。s2不是对象,他是一个类类型变量。
System.out.println(s1==s2);//s1==s2比较的是什么?s1,s2指向同一对象,为什么不相等?在内在中是否有两个“abc”;《------------因为s1="abc",s2=new String("abc");他俩是两个对象,两个对象不论指向的是否是一个值,他俩都不是一个对象。就和Object o1=new Object();Object o2=new Object();o1!=o2一样
System.out.println(s1.equals.s2);
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |