美文网首页
Java好用的工具之lombok

Java好用的工具之lombok

作者: 有财君 | 来源:发表于2019-04-19 00:12 被阅读0次

    1. 用lombok前

    比如说我现在有一个简单的需求,需要编写一个类,那么规范的Java代码应该是这样写的:

    package com.example.practice;
    
    public class Account {
    
        private String accountNo;
    
        private int balance;
    
        public Account(String accountNo, int balance) {
            this.accountNo = accountNo;
            this.balance = balance;
        }
    
        public String getAccountNo() {
            return accountNo;
        }
    
        public void setAccountNo(String accountNo) {
            this.accountNo = accountNo;
        }
    
        public int getBalance() {
            return balance;
        }
    
        public void setBalance(int balance) {
            this.balance = balance;
        }
    }
    //省略了hashCode,equals和toString方法。
    

    其实这个类无非是模拟了真实世界的一种存在,这是面向对象的基本要求,但是那些getter,setter等等方法看起来实在是太不优雅了,更不用说还有其他的需要Override的方法。

    实际上只有这两个东西需要关注:

        private String accountNo;
    
        private int balance;
    

    2. 当我遇到了kotlin

    Kotlin语言虽然很新,但是毕竟有Google站台,风头也是一时无两,而且已经开始成为Google力推的Android开发语言。

    那么实现上面的类,Kotlin是怎么做的呢?

    package com.example.practice
    
    class AccountK {
        var accontNo: String = "quan"
    
        var balance: Int = 1000
    }
    

    只要这样就可以了,没有什么getter和setter。

    用的时候类的属性是可以直接访问的:

    package com.example.practice
    
    fun main() {
        val account = AccountK()
        account.accontNo = "12345467"
        account.balance = 2000
        println(account.accontNo)
    }
    

    这样看起来比Java优雅多了,毕竟我学习Java的时候,很多书都会讲面向对象就是对真实世界的模拟,那么为什么一辆车我不能直接看到它的轮胎是黑色还是白色(属性),而一定要通过一个望远镜(getter)看呢?

    3. 好用的lombok

    lombok可以认为是一个增强工具,用了以后可以放心大胆的把代码改造成这样:

    package com.example.practice;
    
    import lombok.AllArgsConstructor;
    import lombok.Getter;
    import lombok.Setter;
    
    @AllArgsConstructor
    @Setter
    @Getter
    public class Account {
    
        private String accountNo;
    
        private int balance;
    }
    

    没有构造器,没有getter和setter,所有的一切上面的三个注解都帮我解决了,代码看起来一下子优雅了好多。

    当然lombok的作用也不止于此,它还能通过注解引入Slf4j,ToString,实现类的Builder方法等等。

    有这个工具,让我觉得Java也不再那么啰嗦了。

    相关文章

      网友评论

          本文标题:Java好用的工具之lombok

          本文链接:https://www.haomeiwen.com/subject/cuqfgqtx.html