Maven Dependency
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.fool.commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>1</version> <dependencies> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.1</version> </dependency> </dependencies> <build> <sourceDirectory>src</sourceDirectory> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.0</version> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> </plugins> </build> </project>
find specific elements in an array
package org.fool.commons.lang; import org.apache.commons.lang3.ArrayUtils; /** * find specific elements in an array */ public class ArrayIndexOfExample { public static void main(String[] args) { String[] colors = { "Red", "Orange", "Yellow", "Green", "Blue", "Violet", "Orange", "Blue" }; boolean containsViolet = ArrayUtils.contains(colors, "Violet"); System.out.println("Contains Violet ? " + containsViolet); int indexOfYellow = ArrayUtils.indexOf(colors, "Yellow"); System.out.println("indexOfYellow = " + indexOfYellow); int indexOfOrange = ArrayUtils.indexOf(colors, "Orange"); System.out.println("indexOfOrange = " + indexOfOrange); int lastIndexOfOrange = ArrayUtils.lastIndexOf(colors, "Orange"); System.out.println("lastIndexOfOrange = " + lastIndexOfOrange); } }
reverse array elements order
package org.fool.commons.lang; import org.apache.commons.lang3.ArrayUtils; /** * reverse array elements order */ public class ArrayReverseExample { public static void main(String[] args) { String[] colors = { "Red", "Green", "Blue", "Cyan", "Yellow", "Magenta" }; System.out.println(ArrayUtils.toString(colors)); ArrayUtils.reverse(colors); System.out.println(ArrayUtils.toString(colors)); } }
convert an array to a Map
package org.fool.commons.lang; import java.util.Map; import org.apache.commons.lang3.ArrayUtils; /** * convert an array to a Map */ public class ArrayToMapExample { public static void main(String[] args) { String[][] countries = { { "United States", "New York" }, { "United Kingdom", "London" }, { "Netherlands", "Amsterdam" }, { "Japan", "Tokyo" }, { "France", "Paris" } }; Map<Object, Object> countryCapitals = ArrayUtils.toMap(countries); System.out.println("Capital of Japan is " + countryCapitals.get("Japan")); System.out.println("Capital of France is " + countryCapitals.get("France")); } }
convert array of object to array of primitive
package org.fool.commons.lang; import org.apache.commons.lang3.ArrayUtils; /** * convert array of object to array of primitive */ public class ObjectArrayToPrimitiveDemo { public static void main(String[] args) { Integer[] integers = { new Integer(1), new Integer(2), new Integer(3), new Integer(5), new Integer(8), new Integer(13), new Integer(21), new Integer(34), new Integer(55) }; int[] fibbos = ArrayUtils.toPrimitive(integers); System.out.println(ArrayUtils.toString(fibbos)); System.out.println(ArrayUtils.toString(integers)); } }
convert array of primitives into array of objects
package org.fool.commons.lang; import org.apache.commons.lang3.ArrayUtils; /** * convert array of primitives into array of objects */ public class PrimitiveArrayToObjectDemo { public static void main(String[] args) { int numbers[] = { 1, 2, 3, 4, 5 }; boolean bools[] = { true, false, false, true }; float decimals[] = { 10.1f, 3.14f, 2.17f }; Integer numbersObj[] = ArrayUtils.toObject(numbers); Boolean boolsObj[] = ArrayUtils.toObject(bools); Float decimalsObj[] = ArrayUtils.toObject(decimals); for (Integer i : numbersObj) { System.out.print(i + "\t"); } System.out.println(); for (Boolean b : boolsObj) { System.out.print(b + "\t"); } System.out.println(); for (Float f : decimalsObj) { System.out.print(f + "\t"); } } }
format date and time using DateFormatUtils class
package org.fool.commons.lang; import java.util.Date; import org.apache.commons.lang3.time.DateFormatUtils; /** * format date and time using DateFormatUtils class */ public class DateFormatting { public static void main(String[] args) { Date today = new Date(); String timestamp1 = DateFormatUtils.ISO_DATE_FORMAT.format(today); String timestamp2 = DateFormatUtils.ISO_DATE_TIME_ZONE_FORMAT .format(today); String timestamp3 = DateFormatUtils.ISO_DATETIME_FORMAT.format(today); String timestamp4 = DateFormatUtils.ISO_DATETIME_TIME_ZONE_FORMAT .format(today); String timestamp5 = DateFormatUtils.ISO_TIME_FORMAT.format(today); String timestamp6 = DateFormatUtils.ISO_TIME_NO_T_FORMAT.format(today); String timestamp7 = DateFormatUtils.ISO_TIME_NO_T_TIME_ZONE_FORMAT .format(today); String timestamp8 = DateFormatUtils.ISO_TIME_TIME_ZONE_FORMAT .format(today); String timestamp9 = DateFormatUtils.SMTP_DATETIME_FORMAT.format(today); System.out.println("timestamp1 = " + timestamp1); System.out.println("timestamp2 = " + timestamp2); System.out.println("timestamp3 = " + timestamp3); System.out.println("timestamp4 = " + timestamp4); System.out.println("timestamp5 = " + timestamp5); System.out.println("timestamp6 = " + timestamp6); System.out.println("timestamp7 = " + timestamp7); System.out.println("timestamp8 = " + timestamp8); System.out.println("timestamp9 = " + timestamp9); } }
check for an empty string
package org.fool.commons.lang; import org.apache.commons.lang3.StringUtils; /** * check for an empty string */ public class StringUtilsDemo { public static void main(String[] args) { String var1 = null; String var2 = ""; String var3 = " "; String var4 = " \t\t\t"; String var5 = "Hello World"; System.out.println("var1 is blank ? = " + StringUtils.isBlank(var1)); System.out.println("var2 is blank ? = " + StringUtils.isBlank(var2)); System.out.println("var3 is blank ? = " + StringUtils.isBlank(var3)); System.out.println("var4 is blank ? = " + StringUtils.isBlank(var4)); System.out.println("var5 is blank ? = " + StringUtils.isBlank(var5)); System.out.println(); System.out.println("var1 is not blank ? = " + StringUtils.isNotBlank(var1)); System.out.println("var2 is not blank ? = " + StringUtils.isNotBlank(var2)); System.out.println("var3 is not blank ? = " + StringUtils.isNotBlank(var3)); System.out.println("var4 is not blank ? = " + StringUtils.isNotBlank(var4)); System.out.println("var5 is not blank ? = " + StringUtils.isNotBlank(var5)); System.out.println(); System.out.println("var1 is empty? = " + StringUtils.isEmpty(var1)); System.out.println("var2 is empty? = " + StringUtils.isEmpty(var2)); System.out.println("var3 is empty? = " + StringUtils.isEmpty(var3)); System.out.println("var4 is empty? = " + StringUtils.isEmpty(var4)); System.out.println("var5 is empty? = " + StringUtils.isEmpty(var5)); System.out.println(); System.out.println("var1 is not empty? = " + StringUtils.isNotEmpty(var1)); System.out.println("var2 is not empty? = " + StringUtils.isNotEmpty(var2)); System.out.println("var3 is not empty? = " + StringUtils.isNotEmpty(var3)); System.out.println("var4 is not empty? = " + StringUtils.isNotEmpty(var4)); System.out.println("var5 is not empty? = " + StringUtils.isNotEmpty(var5)); } }
check if a string is empty or not
package org.fool.commons.lang; import org.apache.commons.lang3.StringUtils; /** * check if a string is empty or not */ public class EmptyStringCheckExample { public static void main(String[] args) { String one = ""; String two = "\t\r\n"; String three = " "; String four = null; String five = "four four two"; System.out.println("Is one empty? " + StringUtils.isBlank(one)); System.out.println("Is two empty? " + StringUtils.isBlank(two)); System.out.println("Is three empty? " + StringUtils.isBlank(three)); System.out.println("Is four empty? " + StringUtils.isBlank(four)); System.out.println("Is five empty? " + StringUtils.isBlank(five)); System.out.println(); System.out.println("Is one not empty? " + StringUtils.isNotBlank(one)); System.out.println("Is two not empty? " + StringUtils.isNotBlank(two)); System.out.println("Is three not empty? " + StringUtils.isNotBlank(three)); System.out.println("Is four not empty? " + StringUtils.isNotBlank(four)); System.out.println("Is five not empty? " + StringUtils.isNotBlank(five)); } }
find text between two strings
package org.fool.commons.lang; import java.util.Date; import org.apache.commons.lang3.StringUtils; /** * find text between two strings */ public class NestedString { public static void main(String[] args) { String helloHtml = "<html>" + "<head>" + " <title>Hello World from Java</title>" + "<body>" + "Hello, today is: " + new Date() + "</body>" + "</html>"; String title = StringUtils.substringBetween(helloHtml, "<title>", "</title>"); String content = StringUtils.substringBetween(helloHtml, "<body>", "</body>"); System.out.println("title = " + title); System.out.println("content = " + content); } }
generate a random alpha-numeric string
package org.fool.commons.lang; import org.apache.commons.lang3.RandomStringUtils; /** * generate a random alpha-numeric string */ public class RandomStringUtilsDemo { public static void main(String[] args) { // Creates a 64 chars length random string of number. String result = RandomStringUtils.random(64, false, true); System.out.println("random = " + result); // Creates a 64 chars length of random alphabetic string. result = RandomStringUtils.randomAlphabetic(64); System.out.println("random = " + result); // Creates a 32 chars length of random ascii string. result = RandomStringUtils.randomAscii(32); System.out.println("random = " + result); // Creates a 32 chars length of string from the defined array of // characters including numeric and alphabetic characters. result = RandomStringUtils.random(32, 0, 20, true, true, "qw32rfHIJk9iQ8Ud7h0X".toCharArray()); System.out.println("random = " + result); } }
reverse a string, words or sentences
package org.fool.commons.lang; import org.apache.commons.lang3.StringUtils; /** * reverse a string, words or sentences */ public class StringReverseExample { public static void main(String[] args) { String words = "To be or not to be, that is a question !"; // Using StringUtils.reverse we can reverse the string letter by letter. String reversed = StringUtils.reverse(words); // Now we want to reverse per word, we can use // StringUtils.reverseDelimited() method to do this. String delimitedReverse = StringUtils.reverseDelimited(words, ' '); System.out.println("Original: " + words); System.out.println("Reversed: " + reversed); System.out.println("Delimited Reverse: " + delimitedReverse); } }
use Apache Commons ToStringBuilder
package org.fool.commons.lang; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; /** * use Apache Commons ToStringBuilder */ public class ToStringBuilderExample { private String id; private String firstName; private String lastName; public ToStringBuilderExample() { } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) .append("id", id).append("firstName", firstName) .append("lastName", lastName).toString(); // return ToStringBuilder.reflectionToString(this, // ToStringStyle.MULTI_LINE_STYLE); } public static void main(String[] args) { ToStringBuilderExample example = new ToStringBuilderExample(); example.setId("1"); example.setFirstName("Hello"); example.setLastName("World"); System.out.println("example = " + example); } }
use ReflectionToStringBuilder class
package org.fool.commons.lang; import org.apache.commons.lang3.builder.ReflectionToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; /** * use ReflectionToStringBuilder class */ @SuppressWarnings("unused") public class ReflectionToString { private Integer id; private String name; private String description; public static final String KEY = "APP-KEY"; private transient String secretKey; public ReflectionToString(Integer id, String name, String description, String secretKey) { this.id = id; this.name = name; this.description = description; this.secretKey = secretKey; } @Override public String toString() { // Generate toString including transient and static attributes. return ReflectionToStringBuilder.toString(this, ToStringStyle.SIMPLE_STYLE, true, true); } public static void main(String[] args) { ReflectionToString demo = new ReflectionToString(1, "MANU", "Manchester United", "Alex"); System.out.println("Demo = " + demo); } }
count word occurrences in a string
package org.fool.commons.lang; import org.apache.commons.lang3.StringUtils; /** * count word occurrences in a string */ public class WordCountExample { public static void main(String[] args) { String source = "From the download page, you can download the Java " + "Tutorials for browsing offline. Or you can just download " + "the examples."; String word = "you"; int wordCount = StringUtils.countMatches(source, word); System.out.println(wordCount + " occurrences of the word '" + word + "' was found in the text."); } }
capitalize each word in a string
package org.fool.commons.lang; import org.apache.commons.lang3.text.WordUtils; /** * capitalize each word in a string */ public class WordCapitalize { public static void main(String[] args) { // Capitalizes all the whitespace separated words in a string, // only the first letter of each word is capitalized. String str = WordUtils .capitalize("The quick brown fox JUMPS OVER the lazy dog."); System.out.println("str = " + str); // Capitalizes all the whitespace separated words in a string // and the rest string to lowercase. str = WordUtils .capitalizeFully("The quick brown fox JUMPS OVER the lazy dog."); System.out.println("str = " + str); } }
use EqualsBuilder and HashCodeBuilder class
package org.fool.commons.lang; import java.io.Serializable; import java.util.HashSet; import java.util.Set; import org.apache.commons.lang3.builder.EqualsBuilder; import org.apache.commons.lang3.builder.HashCodeBuilder; /** * use EqualsBuilder and HashCodeBuilder class */ public class BookEqualsAndHashCodeExample implements Serializable { private Long id; private String title; private String author; public BookEqualsAndHashCodeExample(Long id, String title, String author) { this.id = id; this.title = title; this.author = author; } @Override public int hashCode() { return new HashCodeBuilder().append(id).append(title).append(author) .toHashCode(); // Or even use the simplest method using reflection below. // return HashCodeBuilder.reflectionHashCode(this); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; BookEqualsAndHashCodeExample other = (BookEqualsAndHashCodeExample) obj; return new EqualsBuilder().append(this.id, other.id) .append(this.title, other.title) .append(this.author, other.author).isEquals(); // You can also use reflection of the EqualsBuilder class. // return EqualsBuilder.reflectionEquals(this, other); } public static void main(String[] args) { Set<Object> set = new HashSet<>(); set.add(new BookEqualsAndHashCodeExample(1L, "HashCode", "Hello")); set.add(new BookEqualsAndHashCodeExample(1L, "HashCode", "Hello")); System.out.println(set.size()); } }
use CompareToBuilder class
package org.fool.commons.lang; import org.apache.commons.lang3.builder.CompareToBuilder; /** * use CompareToBuilder class */ public class CompareToExample { public static void main(String[] args) { Fruit orange = new Fruit("Orange", "Orange"); Fruit watermelon = new Fruit("Watermelon", "Red"); if (orange.compareTo(watermelon) == 0) { System.out .println(orange.getName() + " == " + watermelon.getName()); } else { System.out .println(orange.getName() + " != " + watermelon.getName()); } } } class Fruit { private String name; private String colour; public Fruit(String name, String colour) { this.name = name; this.colour = colour; } public String getName() { return name; } /* * Generating compareTo() method using CompareToBuilder class. For other * alternative way we can also use the reflectionCompare() method to * implement the compareTo() method. */ public int compareTo(Object o) { Fruit f = (Fruit) o; return new CompareToBuilder().append(this.name, f.name) .append(this.colour, f.colour).toComparison(); // return CompareToBuilder.reflectionCompare(this, f); } }