Java viene con una amplia gama de clases y paquetes predefinidos, p.e., AWT, Swing. Aún no están disponibles siempre en todas las plataformas en sus últimas versiones y eso puede resultar en código no portable.
Java proporciona de la clase String (cadenas) con muchos métodos ya implementados. Si se requiere muchas operaciones de cadenas que modifican el contenido de la cadena, mejor usar la clase StringBuffer.