package mypkg;
import java.util.*;
import java.util.StringTokenizer;
public class Main {  
    public static void main(String[] args) 
    {
       String str="a_d-kdlssl,d/k\\da";
       System.out.println(str);
       StringTokenizer st=new StringTokenizer(str,"_-,/\\");
       String str2="";
       while(st.hasMoreTokens())
       {
          str2=str2.concat(st.nextToken());
           System.out.println(str2);
       }
       System.out.println("");
       
       //反转的方法↓
       System.out.print("Reverse方法:  ");
       StringBuffer sb=new StringBuffer(str2);
       //sb.append(str2);       
       //sb.reverse();
       StringBuffer sb2=new StringBuffer(str2);
       System.out.println("After reverse(): sb:"+sb);
       System.out.println("sb2: "+sb2);
       System.out.println(sb.length());
       System.out.println(sb2.length());
       if(sb.equals(sb2))
               System.out.println("It's equal.");
       else
           System.out.println("It's not equal"); 
        //反转的方法↑
       
       //普通方法↓
       System.out.print("普通方法:  ");
       int left=0;
       int right=str2.length()-1;
       boolean equal=false;
       while(left<right)
       {
          if(str2.charAt(left)==str2.charAt(right))
          {
              left++;
              right--;
              equal=true;
          }
          else
          {
              equal=false;         
              break;
          }
       }
       if(equal)
           System.out.println("It's equal .");
       else
           System.out.println("It's not equal .");
       //普通方法↑
       
    }
    
}请教下
我用了两个方法来验证是否是回文串(不受符号的扰乱限制)
所以用了StringToken把它重新整理了一次但是用reverse()方法的时侯就出现错误了
明明a_d-kdlssl,d/k\\da  去掉符号后是 adkdlssldkda   shi是个回文串  但是用reverse()方法得出的是不相等