java,php,asp.net,linux,javascript,mysql,mssql,oracle,编程

java的常用函数6

转载请注明:http://www.pmjava.com/Article/ShowInfo.asp?ID=56548
一些公共函数

java code
            
//过滤特殊字符 public static String encoding(String src){ if (src==null) return ""; StringBuilder result=new StringBuilder(); if (src!=null){ src=src.trim(); for (int pos=0;pos<src.length();pos++){ switch(src.charAt(pos)){ case '\"':result.append(""");break; case '<':result.append("<");break; case '>':result.append(">");break; case '\'':result.append("&apos;");break; case '&':result.append("&");break; case '%':result.append("&pc;");break; case '_':result.append("&ul;");break; case '#':result.append("&shap;");break; case '?':result.append("&ques;");break; default:result.append(src.charAt(pos));break; } } } return result.toString(); } //反过滤特殊字符 public static String decoding(String src){ if (src==null) return ""; String result=src; result=result.replace(""", "\"").replace("&apos;", "\'"); result=result.replace("<", "<").replace(">", ">"); result=result.replace("&", "&"); result=result.replace("&pc;", "%").replace("&ul", "_"); result=result.replace("&shap;", "#").replace("&ques", "?"); return result; } //利用反射调用一个继承层次上的函数族,比如安装程序,有安装数据库的,安装文件系统的等,命名均已“install”开始,你就可以将参数part设为“install”,src是其实类实例,root是终止父类 public static <T> void invokeMethods(String part,T src,Class root) throws ExceptionManager{ if (root!=null){ if (!root.isInstance(src))return; root=(Class)root.getGenericSuperclass(); } HashMap<String,Method> invokees=new HashMap<String,Method>(); Class target=src.getClass(); do{ Method [] methods=target.getDeclaredMethods(); for (Method method:methods){ String mn=method.getName(); Boolean isPass=mn.startsWith(part); if (isPass){ Integer nopt=method.getParameterTypes().length; Boolean isStatic=Modifier.isStatic(method.getModifiers()); if ((nopt==0)&&(!isStatic)){ if (!invokees.containsKey(mn)) invokees.put(mn, method); } } } target=(Class)target.getGenericSuperclass(); }while(target!=root); Iterator<String> methods=invokees.keySet().iterator(); while (methods.hasNext()){ Method invokee=invokees.get(methods.next()); Boolean access=invokee.isAccessible(); invokee.setAccessible(true); try { invokee.invoke(src); } catch (InvocationTargetException e) { throw ExceptionManager.wrap(e.getTargetException()); }catch (Exception e){} invokee.setAccessible(access); } }
                                                                  

posted on 2009-06-10 21:12 rrong_m 阅读(82) 评论(0)  编辑  收藏

<2024年5月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

导航

统计

常用链接

随笔档案

文章分类

文章档案

java编程

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜