The most stable APIs we have available for any of the languages we use are the language's native APIs. Whether the language guarantees backward compatibility or migration guides, using these APIs creates the least amount of compatibility issues and dependencies conflicts which any 3rd party library for general utils is prone to. Therefore whenever possible, use the native language APIs. Examples: use java.time instead of joda.time; use Java's Collections APIS instead of Guava's Collections APIs or apache "commons" APIs.