.Net与Java常用代码写法对比x_第1页
.Net与Java常用代码写法对比x_第2页
.Net与Java常用代码写法对比x_第3页
.Net与Java常用代码写法对比x_第4页
.Net与Java常用代码写法对比x_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.Net与Java常用代码写法对比一、 语法相关1、 StringBuilder.Net写法:StringBuilder sb = new StringBuilder();sb.Append(value);sb.AppendLine(value);sb.AppendFormat(format, args);sb.ToString();Java写法:StringBuilder sb=new StringBuilder();sb.append(value);sb.toString();备注:2、 类型转换string、int、DateTime.Net写法:Convert.ToString(object)object.ToString()Convert.ToInt32(object)int.TryParse(string,out result)Convert.ToDateTime(object)DateTime.TryParse(string,out result)DateTime.ToString(format)Java写法:Object.toString();Integer.parseInt(object);DateFormat fmt =new SimpleDateFormat(yyyy-MM-dd); String s = 1987-10-10;Date date = fmt.parse(s);String dateStr = new SimpleDateFormat(yyyy-MM-dd hh:mm:ss).format(date);备注:C#中有as的写法,但在java中没有只能用强转换3、 Enum枚举.Net写法:定义:public enum AuditStatus 编辑中 = 1,/会员网上登记,未提交 待审核 = 2, /会员网上提交后由中心人员进行流程审核 审核通过 = 3, /审核流程结束 审核不通过 = 4, /回到会员处继续处理 删除 = 5, /删掉 作废 = 6 AuditStatus AuditStatus = EpointBid_Constant.Enums.ClsEnum.AuditStatus.编辑中;转换:AuditStatus = (AuditStatus)Enum.Parse(typeof(AuditStatus),value);遍历:foreach (int i in Enum.GetValues(typeof(AuditStatus)Java写法:public class TestEnum /* * 普通枚举 */ public enum ColorEnum red, green, yellow, blue; /* * 枚举像普通的类一样可以添加属性和方法,可以为它添加静态和非静态的属性或方法 */ public enum SeasonEnum /注:枚举写在最前面,否则编译出错 spring, summer, autumn, winter; private final static String position = test; public static SeasonEnum getSeason() if (test.equals(position) return spring; else return winter; /遍历枚举for(ColorEnum color : ColorEnum.values() System.out.println(color);备注:4、 string操作.Net写法:判断是否为空:string.IsNullOrEmpty判断是否包含某个字符:string.Contains(value)格式化字符串:string.Format(format,args)检索:x.IndexOf(value); x.IndexOf(value,startIndex); x.LastIndexOf(value); x.LastIndexOf(value, startIndex);替换:x.Replace(oldValue,newValue)删除字符:x.Remove(startIndex);x.Remove(startIndex,count);截取:x.Substring(startIndex); x.Substring(startIndex, length);移除字符:x.Trim();x.Trim(trimChars); x.TrimStart(trimChars); x.TrimEnd(trimChars);大小写转换:x.ToUpper(); x.ToLower();匹配开始、结尾:x.StartsWith(value); x.EndsWith(value);分割:string xx = x.Split(separator);Java写法:判断是否为空:StringUtil.isNotBlank(string)判断是否包含某个字符:string.contains(value)格式化字符串:string.format(format,args)检索:x.indexOf(value); x.indexOf(value,startIndex); x.lastIndexOf(value); x.lastIndexOf(value, startIndex);替换:x.replace(oldValue,newValue)删除字符:x.replace(“某字符”,”)截取:x.substring(startIndex); x.substring(startIndex, length);移除字符:x.trim();大小写转换:x.toUpperCase(); x.toLowerCase();匹配开始、结尾:x.startsWith(value); x.endsWith(value);分割:string xx = x.split(separator);备注:5、 泛型集合.Net写法:单一集合List list = new List();list.Add(item);string item = listindex;键值对Dictionary dic = new Dictionary();dic.Add(key, value);string value = dickey;遍历:foreach(var item in list) Item.key item.valueJava写法:单一集合List list = new ArrayList();list.Add(item);string item = list.get(index);键值对Map dic = new HashMap();dic.put(key, value);string value = dic.get(key);遍历:List aa;for(int x : aa) 备注:6、 文件操作(File、Directory).Net写法:文件夹操作:定义:DirectoryInfo dirInfo = new DirectoryInfo(strDicPath);判断是否存在:dirInfo.Exists; Directory.Exists(strDicPath)创建:dirInfo.Create(); Directory.CreateDirectory(strDicPath);删除:dirInfo.Delete();/如果此 DirectoryInfo 为空,则删除它。dirInfo.Delete(true);/删除 DirectoryInfo 的此实例,指定是否删除子目录和文件。Directory.Delete(dirInfo.FullName, true);文件操作:定义:FileInfo fi1 = new FileInfo(fileName);判断是否存在:fi1.Exists;创建:fi1.Create();删除:fi1.Delete();复制:fi1.Copy(destFileName,true);/覆盖现有文件移动:fi1.MoveTo(destFileName,true);判断是文件还是文件夹:1、 可通过判断文件或文件夹是否存在来判断是文件还是文件夹。2、 通过文件或文件夹属性来判断(fi.Attributes & FileAttributes.Directory) != 0即是文件夹Java写法:删除文件(夹):FileManagerUtil.deleteFile(path);复制文件:FileManagerUtil.copyFile(actuallyInpath, outPath, outFileName, isDel)移动文件:/文件原地址 File oldFile = new File(c:/test.xls); /文件新(目标)地址 String newPath = c:/test/; /new一个新文件夹 File fnewpath = new File(newPath); /判断文件夹是否存在 if(!fnewpath.exists() fnewpath.mkdirs(); /将文件移到新文件里 File fnew = new File(newPath +oldFile.getName(); oldFile.renameTo(fnew);创建文件: File path=new File(F:/test); File dir=new File(path,hello.txt); if(!dir.exists() dir.createNewFile();判断文件是否存在:FileManagerUtil.isExist(fileName, create)判断是文件还是文件夹:File file = new File(XXX); file.isDirectory();/ true是文件夹,false是文件备注:主要的操作类File、FileInfo、Directory、DirectoryInfo二、 页面相关1、 存取Session.Net写法:System.Web.HttpContext.Current.SessionnameSessionnameJava写法:JsfHelper.getSessionValue(key)JsfHelper.setSessionValue(key,value)备注:2、 ViewState.Net写法:ViewStatenameJava写法:无备注:保存于客户端的视图状态,Java中不需要Java中,可将信息保存于bean中。3、 获取、设置Cookies.Net写法:获取:HttpCookie requestCookie = Request.Cookiescookiename;string value = requestCookie.Value;设置:var responseCookie = new HttpCookie(AntiXsrfTokenKey) HttpOnly = true, Value = _antiXsrfTokenValueResponse.Cookies.Set(responseCookie);Java写法:JsfHelper.getCookie(name) JsfHelper.addCookie(name, value, age)备注:4、 取Request参数.Net写法:RequestkeyRequest.QueryStringnameSystem.Web.HttpContext.Current.RequestkeyJava写法: JsfHelper.getRequestParameter(key);备注:5、 取页面地址.Net写法:Request.UrlRequest.RawUrl上次请求的url:Request.UrlReferrer框架封装:Epoint.Frame.Common.UrlOperate.GetApplicationPath()Java写法:JsfHelper.getRequestURL();request.getContextPath();备注:6、 WebMethod.Net写法:后台:WebMethod(EnableSession = true)public static string GetMenus(string moduleCode)return “”;前台:PageMethods.GetMenus(params,onsuccess,onerror);function onsuccess(response)function onerror()Java写法:后台随意一个方法例如:Class SelectLoginTypeAction Public String getXxx(String x)JsfHelper.addCallbackParam(msg, value);前台:申明控件:InitCallBack(args.msg)这个是调完后台之后执行的js函数Js里面调用方法:var type = “”;var ret=InitDwParam(type);备注:注意后台返回值不是用return ,而是用JsfHelper.addCallbackParam7、 Ajax.Net写法:调用jquery的ajax:$.ajax(type:POST,url:a.aspx/webmethod或者a.ashx或者a.asmx/method,/可以是页面后台的webmethod,或者一个通用处理程序,或者webservice的一个方法data:”a:1,b:2”,contentType: application/json;charset=utf-8,dataType: json,success: function (result)/todo code,error: function (result, status) alert(result.responseJSON.Message););Java写法:同webmethord备注:8、 前后台取值.Net写法:前台取后台:后台取前台:前台控件设置runat=”server”,后台可直接获取control.TextJava写法:前台取后台:#namespace.变量或者方法后台取前台:由于java中前后台方法变量都是绑定的,后台定义一个变量,前台改变了这个变量,那后台直接再用这个变量时已经是改变之后的变量了。备注:9、 页面跳转.Net写法:Server.Transfer(path, preserveForm)Response.Redirect(url,endResponse)Java写法:JsfHelper.redirect(url);备注:10、 后台输出js.Net写法:this.WriteAjaxMessage(JavaScript);例:/判断用户名必填if(txtUserName.Text = ”)this.WriteAjaxMessage(alert(用户名必填。);return;Java写法:/前台ajax属性private String ajaxtz=;ajaxtz=alert(提示信息!);window.close();备注:在后台定义一个ajaxtz属性,前台在script里面直接贴上#xxxAction.ajaxtz那么,后台这个属性可以直接写相应的js函数比如alert。11、 后台输出HTML.Net写法:动态添加按钮:var cphToolBar = Master.FindControl(cphToolBar);var btnConfirm = new Epoint.Web.UI.WebControls2X.Button();btnConfirm.ID = btnConfirm;btnConfirm.Text = 修改保存;btnConfirm.Click += btnSave_Click;btnConfirm.CausesValidation = true;cphToolBar.Controls.Add(btnConfirm);Java写法:Java中如果要后台拼接某个前台控件等,那就得在后台直接拼接html到前台中前台定义一个outputtext,属性escape=false备注:12、 查看页面初始化DetailPage.Net写法:DetailPage oDetailPage = new Epoint.MisBizLogic2.Web.DetailPage(TableID);oDetailPage.DateTimeFormat = yyyy年MM月dd日 HH时mm分;MisGuidRow oRow = new.MisGuidRow(oDetailPage.SQL_TableName, ViewStateRowGuid);CodeGenerator.InitiateControl_DetailPage(oDetailPage, baseTdContainer, oRow);Java写法:Java也可通后后台数据表结构处生成增删改查页面,其主要通过bean来与控件交互数据。备注:java无,java直接初始化实体就可以展示13、 URL编码、解码.Net写法:HttpUtility.UrlEncode(str, Encoding);HttpUtility.UrlDecode(str, Encoding);Java写法:URLEncoder.encode(s);URLEncoder.deccode(s);备注:14、 页面空格.Net写法: Java写法:备注:三、 控件相关参考EpointJWeb框架开发指南V4.1.3-20141020四、 数据库操作类1、 数据库操作.Net写法:框架集成:Epoint.MisBizLogic2.DB.ExecuteDataView(strSql,strConnectionStringName);Epoint.MisBizLogic2.DB.ExecuteNonQuery(strSql, strConnectionStringName);Epoint.MisBizLogic2.DB.ExecuteToInt(strSql, strConnectionStringName);Epoint.MisBizLogic2.DB.ExecuteToString(strSql, strConnectionStringName);微软企业库:Database db = DatabaseFactory.CreateDatabase(Frame_ConnectionString);string strSql = (db.DbProviderFactory.ToString() != System.Data.OracleClient.OracleClientFactory) ? sql : oracle;DbCommand cmd = db.GetSqlStringCommand(strSql);db.AddInParameter(cmd, name, DbType.String, value);return db.ExecuteDataView(cmd);Java写法:AutoService service=new AutoService();service.getResultListNative(sql, cls);service.getCURD().executeSql(hql);service.getCURD()这个写法引申的各种数据库方法可自己看着取用,根据方法名即可知道具体方法的作用。备注:oracle写法和sqlserver写法相同,只是里面的sql写法不同。2、 Mis表数据操作(MisGuidRow).Net写法:定义:MisGuidRow oRow = new MisGuidRow(SQL_TableName, ViewStateRowGuid);取值:string columnvalue = oRowcolumnname.ToString();赋值:oRowcolumnname = value;插入记录:oRow.Insert();更新记录:oRow.Update();删除记录:oRow.Delete();Java写法:暂无,java中推荐采用实体方式来存取数据。备注:无3、 Oracle与SQL库区分?五、 常用功能片段1、 取系统参数.Net写法:Epoint.Frame.Common.ApplicationOperate.GetConfigValueByName(ConfigName)Epoint.Frame.Common.ApplicationOperate.GetConfigValueByName_DB(ConfigName)Java写法:new FrameConfigService().getConfigValue(ConfigName);备注:2、 取代码项.Net写法:new Epoint.MisBizLogic2.BL.CodeMain().GetCodeText_FromHash(codename, itemvalue)Java写法:(List)CodeModalFactory.factory(name,codename,null,false); 备注:3、 取配置项.Net写法:System.Configuration.ConfigurationManager.AppSettingsnameJava写法:ConfigUtil.getConfigValue(name)备注:4、 取连接串.Net写法:System.Configuration.ConfigurationManager.ConnectionStringsnameJava写法:Autoservice service=new Autoservice(配置数据源)备注:java在后台管理里面数据源配置可新增一个数据源,然后后台代码中申明一个数据源service时候将后台配置的那个数据源名称写进去即可。5、 DataTable、DataView.Net写法:DataView:定义:DataView dv = Epoint.MisBizLogic2.DB.ExecuteDataView(strSql);取值:string columnvalue = dv0columnname.ToString();排序:dv.Sort = id desc;过滤:dv.RowFilter = id=1;遍历:foreach (DataRowView drv in dv_FileInfo)string columnvalue = drvcolumnname.ToString();DataTable:DataTable dt_city = dv.ToTable();取值:string columnvalue = dt.Rows0columnName.ToString();计算:object o = dt.Compute(expression, filter);Java写法:Java中,如果取出来的数据是一个实体,那么直接塞入实体中方法:Listservice.getResultListNative(sql, 类名.class);如果是多个表拼接的几个字段那么,直接存入List中。如果是象datatable行列取值,可用下面:Query query = new AutoService().getCURD().createNativeQuery(sql);ListMap listMap = new AutoService().getCURD().getResultListNative(query, new MapListHandler();String val= listMap.get(行).get(字段名).toString();备注:6、 工作流相关.Net写法:启动工作流:using Epoint.Workflow.Bizlogic;ProcessVersion_Instance PVI = PublicFunction.StartWorkflowInstance(ProcessGuid);PVI.StartupByInitiator(HttpContext.Current.SessionUserGuid.ToString();保存表单和材料关系:Epoint.Workflow.Bizlogic.PublicFunction.Material_UpdateRowGuid( MaterialInstanceGuid, TableID, ViewStateRowGuid.ToString(), out strExceptionInfo );提交材料:Epoint.Workflow.Bizlogic.PublicFunction.Material_Submit( MaterialInstanceGuid, out strExceptionInfo);获取、设置工作流上下文变量:PublicFunction.GetContextItemValue(PVI_Guid, ContextName, out value, out strExceptionInfo);PublicFunction.Context_SaveValue(PVI_Guid, ContextName, value, out strExceptionInfo);工作流回第一步:PublicFunction.ProcessVersionInstance_ReturnToStart(ProcessVersionInstanceGuid, Note, out ExceptionInfo);终止工作流:Epoint.Workflow.Bizlogic.PublicFunction.ProcessVersionInstance_Abend(PVIGuid, 终止工作流, out outException);删除工作流:Epoint.Workflow.Bizlogic.PublicFunction.ProcessVersionInstance_Delete(PVI_Guid, out tmp);Java写法:启动工作流:/ 构造流程参数对象WorkFlowParameter param = new WorkFlowParameter();/ 设置操作类型,这里是启动流程param.setOperateType(WorkflowKeyNames.OperationType_Start);/ 设置操作者标识param.setSendGuid(userSession.getUserGuid();/ 设置要启动的流程guidparam.setProcessGuid(processGuid);/ 调用工作流接口,执行方法,并且返回结果WorkFlowResult result = new WorkflowFunction().operate(param);提交材料:/获取、设置工作流上下文变量:/工作流回第一步: / 设置操作类型为回到第一步 param.setOperateType(WorkflowKeyNames.OperationType_BackToStart);终止工作流:/ 构造流程参数对象WorkFlowParameter param = new WorkFlowParameter(); / 设置操作者标识param.setSendGuid(userSession.getUserGuid(); /设置版本guidparam.setProcessVersionGuid(workflowPvi.getProcessVersionGuid(); /设置版本实例guid param.setProcessVersionInstanceGuid(workflowPvi.getProcessVersionInstanceGuid(); / 设置操作类型为终止流程 param.setOperateType(WorkflowKeyNames.OperationType_TerminatePVI); /执行WorkFlowResult result = new WorkflowFunction().operate(param);删除工作流:/ 设置操作类型为删除流程param.setOperateType(WorkflowKeyNames.OperationType_Delete);备注:7、 代码事务?.Net写法:using (TransactionScope scope = new TransactionScope() /c# code scope.Complete();Java写法:备注:暂无8、 xml操作.Net写法:普通方式(一次加载):XmlDocument xDoc = new XmlDocument();xDoc.LoadXml(xml);XmlNode node = xDoc.SelectSingleNode(XmlPath);XmlNodeList nodes = node.ChildNodes;步进读取:XmlTextReader xtr = new XmlTextReader(stream);while (xtr.Read()xtr.GetAttribute(name);xtr.Value;Java写法:com.epoint.utility.xml.ReadXMLstaticorg.w3c.dom.DocumentgetDocument(java.lang.ObjectxmlSource) 获取一个Documentjava.lang.StringgetTextContentByTag(java.lang.StringtagName) 根据节点tag解析获取一个满足条件的xml节点的文本值XMLNodegetXMLNodeByTag(java.lang.StringtagName) 根据节点tag解析获取一个满足条件的xml节点XMLNodegetXMLNodeByText(java.lang.Stringtext) 根据节点文本内容解析获取一个满足条件的xml节点java.util.ListgetXMLNodeListByTag(java.lang.StringtagName) 根据节点tag解析获取一组满足条件的xml节点java.util.ListgetXMLNodeLis

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论