異常 java.util.regex.PatternSyntaxException:


可變參數是在JDK1.5之后出來的一個行特性,也是一個比較好用的東西

想起好多jfinal還有其他框架的查詢方法就有好多用到了可變參數,自己也寫了個這樣的方法

public class Test
{
    public static void main(String[] args)
    {
       String  sql=test("select * from table where id=? and state=? and name like '%?%'",1,2,"laotan");
           System.out.println(sql);
    }
   

public static String find(String str,Object... params){

  /*

  截取字符串報了一個新的異常,在這里記錄一下

  Exception in thread main java.util.regex.PatternSyntaxException:

  由於  ? 、* 等有的字符在java中屬於特殊字符串 所以截取的時候報上面的那個錯誤

  解決辦法 在特殊字符竄這里 加上[] 有的也可以用 /來轉譯

  */
        String[] arr=str.split("[?]");
        for(int i=0;i<params.length;i++){
            System.out.println(params[i]);
            arr[i]+=params[i];
        }
        StringBuffer sql=new StringBuffer();
        for(String s:arr) sql.append(s);
        return sql.toString();
   }


}

 

 

打印結果 :select * from table where id=1 and state=2 and name like '%laotan%'

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM