1.C#项目Java化特别注意事项
1.工具:C#to Java Converter
(1)不能转框架相关代码,比如C#使用SqlSugar框架所带的DAL层Lambda
(2)不会转换命名方式,比如C#代码基本首字母大写的驼峰命名,Java基本是首字母小写的驼峰命名
(3)单文件翻译,不会主动生成注解,不会主动生成Java框架;总之,只是翻译代码,所得结果可以复制粘贴减少部分工作量,具体得架构设计及框架引入得工作少不了。
2.比较符
C#比较操作可参考https://www.cnblogs.com/Aaxuan/p/9520883.html
Java有三种方式:==比较引用,equals比较值,compareTo比较对象
一般我们的代码比较的都是值的大小,不论值类型和引用类型C#基本使用==来比较。Java需改正过来,引用类型需使用equals,对象的比较要使用compareTo(比如Date对象比较)。
3.实体
C#不需要单独定义get和set,C#的属性定义本身就实现setter和getter。
Java需要在定义变量之后,定义get和set方法。
mybatis框架不允许变量带_,如果表的字段设计上有_需使用注解来映射。举个例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | /** * @Desc 实体类 * @Author generator * @Date <2019年02月15日> * @version 1.0 */ @TableName ( "agent_goods" ) public class TaAgentGoods extends BaseEntity{ private static final long serialVersionUID = 1L; /** 主键 */ @TableId (type=IdType.AUTO) private Integer id; /** 运单号 */ @TableField ( "OrderNo" ) private String orderNo; /** 代理单号 */ @TableField ( "AgentOrderNo" ) private String agentOrderNo; /** 派送人 */ @TableField ( "Col_008" ) private String col008; /** 派送人ID */ @TableField ( "Col_009" ) private String col009; /** 取派类型 */ @TableField ( "ActionType" ) private Integer actionType; public void setId(Integer id) { this .id = id; } public Integer getId() { return this .id; } public void setOrderNo(String orderNo) { this .orderNo = orderNo; } public String getOrderNo() { return this .orderNo; } public void setAgentOrderNo(String agentOrderNo) { this .agentOrderNo = agentOrderNo; } public String getAgentOrderNo() { return this .agentOrderNo; } public void setCol008(String col008) { this .col008 = col008; } public String getCol008() { return this .col008; } public void setCol009(String col009) { this .col009 = col009; } public String getCol009() { return this .col009; } public void setActionType(Integer actionType) { this .actionType = actionType; } public Integer getActionType() { return this .actionType; } @Override public String toString() { return new ToStringBuilder( this ,ToStringStyle.MULTI_LINE_STYLE) .append( "id" ,getId()) .append( "orderNo" ,getOrderNo()) .append( "agentOrderNo" ,getAgentOrderNo()) .append( "col008" ,getCol008()) .append( "col009" ,getCol009()) .append( "actionType" ,getActionType()) .toString(); } } |
4.API入参
5.new对象与注解
6.枚举
7.DateTime
8.Redis
9.null
10.Lamda
标签:
JAVA代码转C#代码
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix