快速业务通道

在JavaScript程序中整合Java函数 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-22
1[] = getParamArray(s2, 0); file://取得参数列表 if(obj1 == null) { System.out.println("不能处理这行参数: " + s3); return false; } try { Constructor cons = class1.getConstructor((Class[])obj1[0]);//使用参数列表构建类构建器 if(class1 == null) { System.out.println("不能创建对象的实例 " + s3); return false; } obj[1] = cons.newInstance((Object[])obj1[1]); inst.put(s, ((Object) (obj))); } catch(Exception _ex) { System.out.println("不能创建对象的实例 " + s3); return false; } } return true; } private Object[] getParamArray(String s, int i) file://取得s中所包含的参数列表,存入一个Object数组中 { String s1 = s.trim(); file://去除末尾的空格 String s6 = ","; Vector vector = new Vector(); if(s1.length() > 0) { if(s1.charAt(0) == ''('')//去掉( s1 = s1.substring(1); if(s1.endsWith(")"))//去掉) s1 = s1.substring(0, s1.length() - 1); String s2 = s1.trim(); file://去掉字符串后的空格 if(s2.length() == 0 && i == 0) file://如果s2长度为零,说明没有参数 return null; String s4; if(s2.length() > 0) { if(s2.charAt(0) == ''"'')//如果s2以"开头,则用\"代替 s6 = "\""; else if(s2.charAt(0) == ''\'''')//如果s2以\''开头,则用''代替 s6 = "''"; else s6 = ","; s4 = s2.substring(0, 1); file://取得s2的第一个字符 s2 = s2.substring(1);//取得s2的第二个字符往后的字符 } else { s4 = ""; } for(; s2.length() > 0; s2 = s2.substring(1))//这些语句是为了把参数表中的参数分离出来 { String s5 = s2.substring(0, 1);//取得s2的第一个字符 if(s5.equals(s6)) file://如果s5和s6相等,即判断s5是否为两个参数的分隔符 { if(s6.equals("\"") || s6.equals("''"))//如果s6为\"或'',则 s4 = s4 + s6; vector.addElement(s4); file://把s4(即一个参数值)加入vector中 s2 = s2.substring(1).trim(); s4 = ""; if(s2.length() == 0) break; s4 = s2.substring(0, 1); if(s4.charAt(0) == '','') file://如果s4以","开头,则判断s4是否以分隔符开头 { s2 = s2.substring(1).trim(); s4 = ""; if(s2.length() == 0) break; s4 = s2.substring(0, 1); } if(s4.charAt(0) == ''"'') s6 = "\""; else if(s4.charAt(0) == ''\'''') s6 = "''"; else s6 = ","; } else { s4 = s4 + s5; } } if(s4.length() > 0) vector.addElement(s4); } int j = vector.size(); file://取得向量变量vector的大小,vector中保存的都是参数值 if(j == 0 && i == 0) return null; file://没有参数 Object aobj[] = new Object[3]; Class class1[] = new Class[j + i]; Object aobj1[] = new Object[j + i]; aobj[0] = class1; aobj[1] = ((Object) (aobj1)); aobj[2] = new Integer(j + i); for(int k = i; k < j + i; k++) { String s3 = (String)vector.elementAt(k - i); try file://以下的代码是为了判断,每个参数到底是什么数据类型 { file://判断是否为整型 Integer integer = Integer.valueOf(s3); class1[k] = Integer.TYPE; aobj1[k] = integer; } catch(Exception _ex) { try { file://判断是否为浮点型 Float float1 = Float.valueOf(s3); class1[k] = Float.TYPE; aobj1[k] = float1; } catch(Exception _ex2)

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号