lang包是nutz的工具包,俗话说:磨刀不误砍柴工 ,好到工具可以起到事半功倍的效果,同样,开发过程中,使用一个好的工具库,也能给开发带来不可忽视的便捷效果。今天先来大致认识下nutz的好工具:斧头,哦不,lang包。
- org.nutz.lang.Code:统计代码的工具。
- 可以指定一个文件或者一个目录,进行代码统计,可以统计代码的空白行数,代码行数,注释行数,导包行数。
- 默认是将代码作为java代码规范进行统计的,如果需要统计其他类型代码,构造一个Code.CodeAnalysisConf配置即可。
- 这个工具包实现起来很简单,将代码文件一个一个读进来,一行一行读取,识别,统计即可。
- org.nutz.lang.Files: 文件工具类。
- 文件操作的帮助函数
- 几乎是个框架都会封装一下的文件操作功能,这里也不例外。
org.nutz.lang.hardware:主要用来获取网络配置信息。
- 工具类Networks,用于获取网络信息,ip,mac地址等。
- 底层调用java.net.NetworkInterface来获取网络接口信息。
- 估计作者觉得这玩意儿八百年难用到一次,所以单元测试没写,:-)。不过这种工具类要出错的难度也有点大哈。
org.nutz.lang.Mirror:提供了很多反射方法,主要针对Class,Method,Filed登类进行封装操作,使的更方便的使用反射。主要封装以下两方面的内容
- 第一,针对指定类型的操作,比如获取一个类中所有的方法,私有的,共有的,父类的,接口的,也可以根据方法(返回类型)返回一个方法;列出所有get,set方法等等。获取注解信息登。判断对象类型
- 第二,对指定对象进行操作,比如根据方法名,执行该方法,根据对象名,获取该对象的值,也可以为对象设置指定属性的值。
org.nutz.lang.Strings:字符串工具类,无论那个项目里面都少不了字符串工具类,不管是自己写的,还是用第三方的,
如apache commons包中,google的guava包,还是spring的工具包中等等,java世界中,只要稍微复杂一些的开源框架,或者稍微正式点的项目中,或多或少有自己封装的字符串工具类,
nutz也不利外。
等等还有还多,
比如:
- Times,处理时间的类
- Streams,流处理类
- Nums,数字处理类
- Maths,一些基本的数学公式计算
- Lang:一个不属于任何帮派的工具类
这里不一一列觉,后面会有选择的挑选一些进行阅读。
这段时间工作比较忙,导致阅读nutz源码的计划有点拖延,这里先挖坑,各位看官看好了。接下来,不填坑,就埋自己咯。
挖坑如下:
- nutz源代码阅读值lang包之基本类型工具
- nutz源代码阅读之lang包之反射工具
- nutz源代码阅读之lang包之IO操作
- nutz源代码阅读之lang包之大结局