Lombok 操作手册(一)

这里介绍一款工具,用来某种程度上解释下为啥我在 GitHub 上 号召代码整洁。

具体优点不在这里赘述,核心就是能少些代码完成同样的功能

这款工具的名字叫做 Lombok 官网地址

安装教程我以及怎样在项目中引用 我就不写了,具体去看官网视频,但是关于安装有两点注意事项要说下

  • 建议下载下来jar自己双击安装,选择Eclipse路径时候选到exlipse.ini 所在的那一级目录下,安装完成后在这个目录下会多一个jar包,同时eclipse.ini末尾多了这么一句
  • -javaagent:lombok.jar
  • 如果你是通过快捷方式启动Eclipse ,那么安装完之后,可能无法启动,原因是他忽略了配置文件的写入,建议去目录下重新生成快捷方式
接下来主要说说API
        @Log 日志相关的操作,这个看官方教程 点我
       
        val:这个严格说不算是注解,是一个代替生命final 属性的简化 
        
	/**
	 * val 的运用
	 * @return
	 */
	public String finalExample() {
		
		// 一下两句代码效果一样 区别在于 lombok 的运用
		 val  example = new ArrayList<String>();
		//final ArrayList<String> example = new ArrayList<String>();
		
		example.add("Hello");
		example.add("world");
		
		// 一下两句代码效果一样 区别在于 lombok 的运用
		  val foo = example.get(0);
		//final String foo = example.get(0);
		
		return foo.toLowerCase();
		
	}

            @NonNull 的运用
           
	/**
	 * @NonNull 的运用
	 * 在入参列表中 加入这个注解 就可以省去 方法内部的if 为空的判断
	 * 这个注解会自动在方法内对该参数进行是否为空的校验,如果为空,则抛出NPE
	 */
	
	private String id;
	
	public void NonNullExample(@NonNull LombokUser user) {
		
		if(user == null){
			throw new NullPointerException("用户对象为空");
		}
		
		this.id = user.getId();
	}

           @SneakyThrows的运用
           
	/**
	 * @SneakyThrows
	 * 作用就是抛出异常
	 * 对于拟不想处理的异常,直接在类上这样抛出,分分钟简化代码
	 * @param bytes
	 * @return
	 */
	@SneakyThrows(UnsupportedEncodingException.class)
	public String utf2Strinig(byte [] bytes) {
		
		return new String(bytes,"UTF-8");
		
	}

@Getter(lazy=true) 的运用
           
	/**
	 * @Getter(lazy=true)
	 * 这个注解的作用相当于缓存,就是我在第一次调用后这个值会一直存在,不在浪费资源去重复生成了
	 * 使用了getter这个annotation可以在实际使用到cached的时候生成cached,同时,Lombok会自动去管理线程安全的问题,不会存在重复赋值的问题
	 */
	
	@Getter(lazy=true)private final String lazyCache = newLazyData();

	private String newLazyData() {
		
		StringBuilder builder =new StringBuilder();
		
		for(int i = 0; i < 10*10; ++i) {
			
			builder.append("data" + i);
			
		}
		return builder.toString();
		
		
	}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值