- java里有关String 的问题比较有代表性,下面我摘抄了写文章,有关String的一些问题,希望能对大家有用:
Java里面,类的对象都是用句柄来访问的,就像C里面的指针。
而在Java里面有两个比较相等的方法一个是用“==”,另一个是String
里面的equals()方法,两个的区别是,前者比较的是地址,后者比较的
是内容。
例如你写了这样的一个语句
String str1,str2;
那就是定义了两个指向不同String实例的句柄,现在他们都是指向null
的所以str1==str2==null,此时你不能用length()方法,因为,他们
都没有指向具体的对象,如果调用这个方法的话,会返回一个
NullPointerException。
之后,如果你写了这样的语句
str1=new String();
那么str1将指向一个具体的String实例,所以str1!=str2,str1!=null,
而且更重要的是str1!="",因为""与str1所指的是两个不同的地址。
但方法str1.length()的返回值就是0了,也就是字符串为空。
同样即使你再这样写
str2=new String();
这个时候依然是str1!=str2,因为他们指向的是两个不同的地址,
但如果你用str1.equals(str2)的话,返回值就是true,因为他们的内
容相同,都为空。
posted on 2006-12-22 09:13
comchyi 阅读(318)
评论(0) 编辑 收藏