StringBuffer --reverse() JAVA判断字符串是否回文

public static void main(String[] args) {
    	StringBuffer sb = new StringBuffer("");
    	sb.append("Ah234hA");
    	System.out.println("sb -> before:" + sb);
    	System.out.println("sb -> reverse:" + sb.reverse());
    	//StringBuffer.reverse()方法改变的是StringBuffer自身,即执行之后又赋值给了它本身
    	System.out.println("sb -> after:" + sb);
    	
    	StringBuffer sb2 = new StringBuffer("");
    	sb2.append("Ah232hA");
    	System.out.print(sb2 + "是否回文:");
    	//判断回文序列的时候
    	System.out.println(sb2.toString().equals(sb2.reverse().toString()));
    	
    	StringBuffer sb3 = new StringBuffer("");
    	sb3.append("Ah234hA");
    	System.out.print(sb3 + "是否回文:");
    	/**
    	 * 判断回文序列不能这样写,因为这样写的话sb3和它自己比较了,
    	 * 因为执行sb3.reverse()时sb3的值就已经改变成了Ah432hA,
    	 * 而equals后面的sb3,也就是改变之后的值,这两个值总是相等的
    	 */
    	System.out.println(sb3.reverse().toString().equals(sb3.toString()));
    }




版权声明:本文为yuxiangaaaaa原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。