Apache Commons 常用工具类整理
其实一直都在使用常用工具类,只是从没去整理过,今天空了把一些常用的整理一下吧
怎么使用的一看就明白,另外还有注释,最后的使用pom引入的jar包
public class ApacheCommonsTest { /**
* 从一个entity中把属性复制进另外一个entity中
*
* @throws Exception
*/
@Test
public void testCopyNewBean() throws Exception {
StuForm form = new StuForm("lee", 18, 1, new Date(), true);
Stu stu = new Stu();
BeanUtils.copyProperties(form, stu);
System.out.println(stu.toString()); } /**
* base64 加密解密
*
* @throws Exception
*/
@Test
public void testBase64Code() throws Exception {
String name1 = "hello, my name is lee~";
System.out.println("Before: " + name1); String name2 = Base64.encodeBase64String(name1.getBytes());
System.out.println("After encode: " + name2); String name3 = new String(Base64.decodeBase64(name2));
System.out.println("After decode: " + name3); String url1 = "www.lee.com.cn";
System.out.println("URL Before: " + url1); String url2 = Base64.encodeBase64URLSafeString(url1.getBytes());
System.out.println("URL After decode: " + url2); String url3 = new String(Base64.decodeBase64(url2));
System.out.println("URL After decode: " + url3);
} /**
* commons 下 collection 工具包
*
* @throws Exception
*/
@Test
public void testCollection() throws Exception {
OrderedMap<String, Object> om = new LinkedMap<String, Object>();
om.put("one", 1);
om.put("two", "2");
om.put("three", "three");
om.put("fore", 4);
om.put("five", "5");
System.out.println(om.firstKey());
System.out.println(om.nextKey("fore"));
System.out.println(om.previousKey("five")); System.out.println("=============================="); BidiMap bm = new TreeBidiMap();
bm.put("three", "3");
bm.put("five", "isfive");
System.out.println(bm.getKey("isfive").toString());
System.out.println(bm.get("three")); // 交换key和value
BidiMap newMap = bm.inverseBidiMap();
System.out.println(newMap.size()); System.out.println("=============================="); Bag<Object> bag = new HashBag<Object>();
bag.add("abc");
bag.add("def", 3);
bag.add("ghi", 5); System.out.println(bag.size()); // 过滤重复元素
Set<Object> onlyU = bag.uniqueSet();
Iterator<Object> i = onlyU.iterator();
while(i.hasNext()){
Object o = i.next();
System.out.println(o.toString());
}
} /**
* Apache Commons Configuration
*
* @throws Exception
*/
@Test
public void testConfig() throws Exception {
PropertiesConfiguration p = new PropertiesConfiguration("test.properties");
System.out.println(p.getString("boy.name"));
System.out.println(p.getInt("boy.age"));
System.out.println(p.getString("boy.birth")); p.setHeader("##this is a new string##");
p.setProperty("new.string", "newString");
// 保存在编译后的目录中
p.save();
p.save("newP"); } /**
* Apache Commons Lang
*
* @throws Exception
*/
@Test
public void testLang() throws Exception {
String a1[] = {"1", "2", "3"};
String a2[] = {"a", "b", "c"};
// 合并数组
String a3[] = (String[])ArrayUtils.addAll(a1, a2);
for (String s : a3) {
System.out.println(s);
} System.out.println("=============================="); String str = "hello, my name is hanmeimei! what's your name? name";
// 出现第一个和第二个name之间的string
String s1 = StringUtils.substringBetween(str, "name");
System.out.println("s1: " + s1);
// 截取第一次出现的字符串之间的string
String s2 = StringUtils.substringBetween(str, "name", "your");
System.out.println("s2: " + s2); // StringUtils.substringAfter(str, separator)
// StringUtils.substringBefore(str, separator) System.out.println("=============================="); // 判断该字符串是不是为数字(0~9)组成,如果是,返回true 但该方法不识别有小数点
System.out.println(StringUtils.isNumeric("454534")); System.out.println("=============================="); System.out.println(ClassUtils.getShortClassName(Test.class));
System.out.println(ClassUtils.getPackageName(Test.class)); System.out.println("=============================="); // 判断该字符串是不是为数字(0~9)组成,如果是,返回true 可以识别有小数点
System.out.println(NumberUtils.isNumber("12334.11"));
// 不建议使用,可以使用 Integer.valueOf("[number]")
System.out.println(NumberUtils.stringToInt("33"));
System.out.println(Integer.valueOf("33")); // 五位的随机字母和数字
System.out.println(RandomStringUtils.randomAlphanumeric(5));
System.out.println(StringEscapeUtils.escapeHtml("<html>"));
System.out.println(StringEscapeUtils.escapeJava("String")); // StringUtils,判断是否是空格字符
System.out.println(StringUtils.isBlank(" "));
// StringUtils.isEmpty("");
// 将数组中的内容以,分隔
System.out.println(StringUtils.join(a3, ","));
// 在右边加下字符,使之总长度为6
System.out.println(StringUtils.rightPad("abc", 6, 'T'));
// 首字母大写
System.out.println(StringUtils.capitalize("abc"));
// Deletes all whitespaces from a String 删除所有空格
System.out.println(StringUtils.deleteWhitespace(" ab c "));
// 判断是否包含这个字符
System.out.println(StringUtils.contains("abc", "ba"));
// 表示左边两个字符
System.out.println(StringUtils.left("abc", 2));
} }
<!-- apache commons -->
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.10</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.1</version>
</dependency>
<dependency>
<groupId>commons-configuration</groupId>
<artifactId>commons-configuration</artifactId>
<version>1.10</version>
</dependency>
附上地址:https://github.com/leechenxiang/maven-apache-commons
Apache Commons 常用工具类整理的更多相关文章
- Maven基础&&Spring框架阶段常用工具类整理
常用工具类 1.密码加密工具类: package com.itheima.utils; import java.security.MessageDigest; import sun.misc.BASE ...
- javascript常用工具类整理(copy)
JavaScript常用工具类 类型 日期 数组 字符串 数字 网络请求 节点 存储 其他 1.类型 isString (o) { //是否字符串 return Object.prototype.to ...
- Maven 常用工具类整理
目录 1.Apache Commons 1.1.字符串处理 1.2.集合操作 1.3.IO操作 1.4.编解码操作 2.Google Guava 2.1.多场景使用 2.2.guava-retryin ...
- Java常用工具类整理
字符数组转String package com.sunsheen.hcc.fabric.utils; /** * 字符数组工具 * @author WangSong * */ public class ...
- org.apache.commons.httpclient工具类
import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler; import org.apache.commons.httpcl ...
- org.apache.commons.httpclient工具类(封装的HttpUtil)
import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java ...
- IOS开发--常用工具类收集整理(Objective-C)(持续更新)
前言:整理和收集了IOS项目开发常用的工具类,最后也给出了源码下载链接. 这些可复用的工具,一定会给你实际项目开发工作锦上添花,会给你带来大大的工作效率. 重复造轮子的事情,除却自我多练习编码之外,就 ...
- commons-lang3-3.2.jar中的常用工具类的使用
这个包中的很多工具类可以简化我们的操作,在这里简单的研究其中的几个工具类的使用. 1.StringUtils工具类 可以判断是否是空串,是否为null,默认值设置等操作: /** * StringUt ...
- commons-lang常用工具类StringEscapeUtils使用--转
https://my.oschina.net/ydsakyclguozi/blog/341496 在apache commons-lang(2.3以上版本)中为我们提供了一个方便做转义的工具类,主要是 ...
随机推荐
- redis3.0 集群实战2 - 集群功能实战
1 集群基本操作 1.1 查看当前集群状态 使用redis-trib.rb check功能查看对应的节点的状态: [root@bogon bin]# ./redis-trib.rb check 1 ...
- [程序人生]前途无"亮‘’的大学
转眼之间就到大四了,今天晚上很迷茫,很纠结,想了好多,好多,真的,长大之后,自从第一次失恋之后,第一次会想到这么的多. 嗯,先自我介绍哈吧,我是从云南的大山里走出来的孩子,什么样的大山,就是到 ...
- HTML 块元素
分为3类 1. 结构块 只能包含块级元素.它们包含结构含义,但没有语义含义,也就是,不能说明内容是什么,只能说明其组织方式. <ol> <ul> <dl> < ...
- YUIDoc example代码高亮错误、生成API文档目录不按源文件注释顺序
1.如果发现yuidoc命令用不了,那就重装nodejs吧 昨天不知道是清扫电脑的原因,yuidoc命令用不了(命令不存在),也没有找到好的解决方法,怒重装YUIDoc也不行.最后想了想,怒重装了no ...
- Win10安装framework3.5
.NET少不了framewrok,其版本也比较多,默认情况下win7及上版本没有安装framework3.5,但有些软件又需要它,比如arcgis软件在安装时会检测是否存在3.5,如果没有,将不会正常 ...
- Log4net中的调错
在使用log4net时,感觉最麻烦的就是配置文件了,为了使用方便,我不得不先准备好一个完整的配置文件方案,测试了输出到文本.控制台.windows事件.SQL Server数据库都没有问题,但输出到o ...
- 【原/转】UITableview性能优化总结
UITableView作为ios中使用最频繁的控件之一,其性能优化也是常常要面对的,尤其是当数据量偏大并且设备性能不足时.本文旨在总结tableview的几个性能优化tips,并且随着认识的深入,本文 ...
- .NET下金额大小写转换
说明:金额转换可以转换50位的数值,单位从分到级.对于中间部分是否显示零,可以根据修改TranslateJInen()函数修改.中间数值为零的去掉不显示 public string GetChCapi ...
- Undefined symbols for architecture i386:和"_OBJC_CLASS_$_xx", referenced from:问题解决方法
多个人共同操作同一个项目或拷贝项目时,经常会出现类似这样的问题: Undefined symbols for architecture i386: "_OBJC_CLASS_$_xx文件名& ...
- 博客建议(Suggestions)
I don't know if you will like the music. But I am sure there are some songs which are really wonderf ...