码迷,mamicode.com
首页 > 编程语言 > 详细

异常 java.util.regex.PatternSyntaxException:

时间:2014-09-04 14:50:19      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:os   io   java   ar   for   sp   on   c   new   

可变参数是在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%‘

 

异常 java.util.regex.PatternSyntaxException:

标签:os   io   java   ar   for   sp   on   c   new   

原文地址:http://www.cnblogs.com/laotan/p/3955970.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!