- 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 阅读(326) 
评论(0)  编辑  收藏