随笔 - 809  文章 - 0 评论 - 144 阅读 - 770万

直接上例子:

 

 

然后用 Idea 自动生成 getter 和 setter 

复制代码
public class XyzBean {

    //最普通的
    private String name;

    //Boolean类型,带is前缀(3处都要手工修改成标准的,若不手工修改,自己看后果)
    private Boolean isHis;

    //Boolean类型,没有is前缀(完全没有问题)
    private Boolean noIs;

    //String类型,带is前缀(完全没有问题)
    private String isMan;

    //Long类型,带is前缀,Integer一样,不举例了(完全没有问题)
    private Long isLong;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }


    //方法名这里少了is,应该是getIsHis
    public Boolean getHis() {
        return isHis;
    }

    //方法名这里少了is, 应该是 setIsSuccess
    public void setHis(Boolean his) {//参数名,应该是 isHis
        //这里又少了this关键字,应该是 this.isHis = isHis;
        isHis = his;
    }

    public Boolean getNoIs() {
        return noIs;
    }

    public void setNoIs(Boolean noIs) {
        this.noIs = noIs;
    }

    public String getIsMan() {
        return isMan;
    }

    public void setIsMan(String isMan) {
        this.isMan = isMan;
    }

    public Long getIsLong() {
        return isLong;
    }

    public void setIsLong(Long isLong) {
        this.isLong = isLong;
    }
}
复制代码

 

假如用这个 XyzBean 做返回,我们把它 序列化成 json看下 会是什么样子的:

 

复制代码
public class TestMain {
    public static void main(String[] args) throws JsonProcessingException {
        ObjectMapper objectMapper = new ObjectMapper();
        XyzBean xyzBean = new XyzBean();
        xyzBean.setName("我操");
        xyzBean.setHis(true);
        xyzBean.setNoIs(false);
        xyzBean.setIsMan("yes");
        xyzBean.setIsLong(1L);
        System.out.println(objectMapper.writeValueAsString(xyzBean));
    }
}
复制代码
{"name":"我操","noIs":false,"isMan":"yes","isLong":1,"his":true}//根本就不存在 his 属性,我们都没有定义,怎么出来一个 这个

问题就出来了,属性名发生了变化,坑啊 草草草

解决方法,凡是 boolean 类型的 is开头的 不用 idea 自动生成,或生成后 自己手工修改3个地方。

我们修改下,再测试:

 

 

 

posted on   del88  阅读(4217)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示