StringBuffer 如何域 String 相比较

		StringBuffer errors = new StringBuffer("java");
		String page = new String("java");
		//使用toString
		if(page.equals(errors.toString())){
			System.out.println("page 和 errors 相同");
		}else{
			System.out.println("page 和 errors 不相同");
			
		}
		
		// 不使用toString
		if(page.equals(errors)){
			System.out.println("page 和 errors 相同");
		}else{
			System.out.println("page 和 errors 不相同");
			
		}
		

 

运行结果: 

使用toString  : 相同

    不使用toString  :不相同


what? Why?

StringBuffer类是没有重写Object 类的equals()方法,所以StringBuffer类不能使用equals()方法比较StringBuffer的值。


那该如何比较StringBuffer的值是否相等呢?

可以使用toString() 方法将StringBuffer的内容转换为String 字符串,再使用equals()方法比较。



你可能感兴趣的:(StringBuffer 如何域 String 相比较)