Apache Commons Lang no tiene nada que hasta Con "Idiomas", pero en realidad con el Java API integrada java.lang.
Las herramientas adicionales y clases de esta biblioteca agrega a java.lang ayudará a los desarrolladores ampliar el núcleo de Java con más funcionalidades y características que muchos podrían argumentar merecían estar en ella en el primer lugar.
Algunas de estas utilidades extra dirección:
- Objeto reflexión
- La creación de objetos
- La serialización de objetos
- Manipulación de cadenas
- métodos numéricos
- Trabajar con las propiedades del sistema
- El apoyo a una estructura excepción anidada
- mejoras en los métodos de fecha
- Programación multi-hilo
- business clases matemáticas
- Tipos de enumeración heredables
- Métodos de construcción
¿Qué hay de nuevo en esta versión:
- NOVEDADES:
- Agregado org.apache.commons.lang3.SystemUtils.IS_JAVA_1_8
- Errores solucionados:
- NumberUtils # ISNUMBER () devuelve false para & quot; & quot ;, 0.0 & quot; & quot ;, 0.4790 et al
¿Cuál es nuevo en la versión 3.3.1:
- Añadido métodos para eliminar todos los caracteres no válidos de acuerdo con XML 1.0 y XML 1.1 en una cadena de entrada a StringEscapeUtils.
- Agregado API MutableBoolean setTrue () y setFalse ()
- Agregado SerializationUtils.roundtrip (T extiende Serializable) para serializar entonces deserializar
- Debe haber un DifferenceBuilder con una implementación ReflectionDifferenceBuilder
- Se ha añadido la cadena algoritmo de distancia Jaro-Winkler a StringUtils.
- Nuevos ClassPathUtils clase con métodos para convertir FQN en ruta del recurso
- Validar: añadir inclusiveBetween y exclusiveBetween sobrecargas para los tipos primitivos
¿Qué hay de nuevo en la versión 3.2.1:
- Problemas resueltos:
- Fijo falta dependencia Hamcrest en Ant Build
- Build falla con pruebas fallidas cuando se construye con JDK 8
- Falla en la prueba en LocaleUtilsTest al construir con JDK 8
- Falla en la prueba en FastDateParserTest y FastDateFormat_ParserTest al construir con JDK8
¿Qué hay de nuevo en la versión 3.1:
- Lang 3.0 y en adelante ahora dirige Java 5.0, haciendo uso de características que llegaron con Java 5.0, como los genéricos, argumentos variables, autoboxing, concurrencia y salida formateada.
¿Cuál es nuevo en la versión 3.0.1:
- SerializationUtils.clone: una alternativa al cargador de clases contexto si la clase no se encuentra en cargador de clases actual.
- La caché CHAR_ARRAY en CharUtils duplica la memoria caché en java.lang.Character.
- cachés Número de uso interno de Java en lugar de crear nuevos objetos.
¿Qué hay de nuevo en la versión 3.0:.
- MutableBigDecimal y MutableBigInteger
- Wish:. Método unaccent
- ObjectUtils.coalesce.
- LeftOf / RightOfNumber en métodos Range conveniencia necesario.
- Añadir ClassUtils.isAssignable () variantes con autoboxing.
- StringUtils.emptyToNull.
- Mejorar StrSubstitutor para apoyar $ anidado {var - $ {subvr}} expansión
- StrSubstitutor ahora admite la sustitución en los nombres de variables.
- Una aplicación genérica de la pauta de inicialización perezosa.
- La adición de ContextedException y ContextedRuntimeException.
- Añadir StringEscapeUtils.escapeText métodos ().
- Añadir soporte para el manejo de ExecutionExceptions.
- Añadir soporte para inicialización en segundo plano.
- Añadir un paquete concurrente.
- Validar:. Soporte para la validación de cadenas en blanco
- Añadir ArrayUtils.toArray para crear matrices genéricas.
- Añadir capacidad de crear un futuro para una constante.
- Añadir métodos para Validar para comprobar si el índice es válido para la matriz / lista / cadena.
- Añadir clase TypeUtils a proporcionar el código de utilidad para trabajar con tipos genéricos.
- métodos de validación Agregado isAssignableFrom y isInstanceOf.
- método de validación Agregado validState.
- Nueva clase TimedSemaphore.
- Proporcione una implementación de la interfaz FábricaTrenzado.
- Crear un Par & # X3c básica; L, R & # X3e; clase.
- DateUtils igual y comparar funciones hasta el campo más importante.
- Añadir Interface Builder / Actualizar Constructores para implementarlo.
- Soporte inicialización perezosa utilizando variables atómicas
- Extender el manejo de excepciones en tiempo de ejecución ConcurrentUtils a excepciones.
- método StringUtils.endsWithAny
- Añadir normalizeSpace a StringUtils
- Proporcione documentación sobre el nuevo paquete concurrente
- BooleanUtils.toBooleanObject para apoyar la entrada de caracteres única
- Añadir AnnotationUtils
- Proporcione una aplicación muy básica ConcurrentInitializer
- Añadir StringUtils.defaultIfBlank ()
- Agregue un método-Null seguro compare () para ObjectUtils
- documentada NPE potencial si se produce auto-boxing para algunos métodos BooleanUtils
- Añadir soporte para ConcurrentMap.putIfAbsent ()
- Añadir hashCodeMulti varargs método
¿Qué hay de nuevo en la versión 2.4:
- Deprecations:
- ObjectUtils.appendIdentityToString (StringBuffer, Object) - tiene una semántica muy extrañas, utilice ObjectUtils.identityToString (StringBuffer, Object) en vez .
- Pública estática java.util.Date add (java.util.Date, int, int) -. No es la intención de que este método es público
- Nuevas características:
- ClassUtils.getShortClassName (String) ineficiente.
- Añadir nuevos splitByWholeSeparatorPreserveAllTokens () para StringUtils.
- cadenas de casos de camellos Split.
- Adición de un método StringUtils.replace que toma una matriz o lista de cadenas de reemplazo.
- Memoria para StringUtils # getLevenshteinDistance ().
- Corrección de errores:
- Ejemplo Javadoc para EqualsBuilder es cuestionable.
- bug Documentación para ignoreEmptyTokens accessors en StrTokenizer.
- NumberUtils.min (floatArray) devuelve un valor incorrecto si floatArray [0] pasa a ser Float.NaN.
- EqualsBuilder no lo compara BigDecimals correctamente.
- DateUtils.round () a menudo falla.
Mejora del uso
Comentarios que no se encuentran