Java viene con una amplia gama de clases y paquetes predefinidos, p.ej., AWT, Swing. No están disponibles siempre en todas las plataformas en sus últimas versiones y eso puede derivar en código no portable.
Java proporciona 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.