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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM