博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Idea代码模板初探
阅读量:6871 次
发布时间:2019-06-26

本文共 984 字,大约阅读时间需要 3 分钟。

hot3.png

在工作中发现要大量写一些有固定模式的代码,比如声明一个logger:

private static Logger logger = LoggerFactory.getLogger(Object.class);

这种代码写起来真的很没劲,于是灵机一动的我在想能不能让idea给我自动生成? 百度了一下发现原来有个Live template的功能就是为这个需求而生的,而且已经内置了一些默认的代码模板,比如fori展开成for循环等等。看来idea还是博大精深还有许多功能没仔细研究。 既然已经找到了,编写一个logger的模板还是很简单的:

private static Logger logger = LoggerFactory.getLogger($className$.class);

需要注意的是要把$className$变量设置成内置的类名称函数className(),这样会自动生成正确的类名。

变量

这个仅仅是个小菜,真正让我拍手称快的是自动生成从一种list到另一种list的转换的代码模板。工作中用的是jdk1.7的语法,不能用lambda表达式,因此一些list转换则变得十分繁琐,要定义一个又一个私有方法来完成这种转换,或者使用guava的Lists.transform()方法,但是匿名内部类的使用又使得代码变得不够优雅,而且官方也不推荐这么用。但是我们可以定义一个模板来自动化的完成这种转换:

private List<$to$> to$to$List(List <$from$> inputList) {    List<$to$> list = Lists.newArrayList();    for ($from$ input : inputList) {        if ($checkNull$) {            continue;        }        $convert$        if ($checkElement$) {            list.add($element$);        }    }    return list;}

不得不说idea是一个神器,神器在手,就看你能不能用好了。

转载于:https://my.oschina.net/yx91490/blog/1492364

你可能感兴趣的文章
Visual Studio 2010 SP1将支持HTML5和CSS3
查看>>
[资源记录 ]mobile layer cdn
查看>>
关于scrapy的piplines
查看>>
20165232《信息安全系统设计基础》第六周学习总结
查看>>
凸优化之凸集
查看>>
2、Spring开发的jar文件
查看>>
linux -- #!/bin/bash
查看>>
引用程序集没有强名称解决办法
查看>>
poj 2965 The Pilots Brothers' refrigerator
查看>>
子集生成——回溯法的准备篇
查看>>
Python列表的增删改查和元祖
查看>>
实现多线程2
查看>>
【全网最全的博客美化系列教程】03.给博客添加一只萌萌哒的小仓鼠
查看>>
内核同步机制
查看>>
重建二叉树
查看>>
消息队列
查看>>
用 Tornado 实现简单的在线代理
查看>>
函数指针和指针函数
查看>>
HTML 如何让图片全屏的问题
查看>>
silverlight 如何在浏览器的新页面里打开一个xaml
查看>>