1 min read
Useful Java snippets
Starting this post to keep track of some useful Java snippets I use/come across.
Singleton Map/List
Need a map, but with just one object in it? Don’t feel like going through all this boilerplate just to get that?
Map<KeyType, ValueType> myMap = new HashMap<KeyType, ValueType>(); myMap.put(key, value); thingThatNeedsAMap(myMap);
Collections.singletonMap to the rescue.
With one fell swoop, you’ve got yourself an immutable map:
Collections.singletonMap(key, value);
In the same vein, there’s also a Collections.singletonList method for when you need a list with a single item.
Generate a random String of a certain length
(Thanks to this StackOverflow post)
Import org.apache.commons.text.RandomStringGenerator, and use it like this:
RandomStringGenerator randomStringGenerator = new RandomStringGenerator.Builder() .withinRange(‘0’, ‘z’) .filteredBy(CharacterPredicates.LETTERS, CharacterPredicates.DIGITS) .build(); randomStringGenerator.generate(12);
Comma-separate a Collection of Strings with a StringJoiner
Say you have this List of Strings: ["Alice", "Bob", "Carol"], and you want to concatenate them into one String that’s comma-separated.
Simply use a StringJoiner.
String commaSeparatedNames = names.stream() .collect(Collectors.joining(", "));Reference: Class StringJoiner
Convert between time units
You can use Java’s TimeUnit class to easily convert between time units. For example, convert 15 seconds to milliseconds with:
TimeUnit.SECONDS.toMillis(15)
Catch multiple exceptions
Java 7 syntax lets you catch multiple exceptions at once:
catch(RuntimeException | IOException | SQLException e)Reference: Java Catch Multiple Exceptions, Rethrow Exception