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

posted @   随意听风  阅读(36)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· 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
TOP
点击右上角即可分享
微信分享提示