Buscar un cambio de comportamiento en el método Locale getDefault

Esta regla marca las instancias del método java.util.Locale getDefault().

Este método se marca porque tiene un cambio de comportamiento asociado. Según la documentación de Compatibilidad de Java SE 7 y JDK 7 en Java 7, el usuario puede acceder ahora al entorno local de visualización (por ejemplo, la representación visual de una serie) o el entorno local de formato (por ejemplo, el formato real de una serie). Para lograrlo, Java 7 ha añadido el nuevo método: getDefault(Locale.Catgory cat) donde Locale.Category es una nueva enumeración con las opciones DISPLAY o FORMAT. Con este nuevo método, el usuario puede obtener el entorno local específico que desee.

El método más antiguo que marca esta regla, getDefault(), se ha actualizado para ser equivalente a la llamada getDefault(Locale.DISPLAY). Antes de Java 7, el método getDefault() solía volver al equivalente a getDefault(Locale.FORMAT)

El entorno local de visualización determina cómo se muestran los datos en una interfaz de usuario, por ejemplo, en una ventana o un recuadro de diálogo. Por ejemplo, los datos pueden visualizarse en un idioma diferente al del sistema principal.

El entorno local de formato determina cómo se da formato a los datos. Por ejemplo, utilizando el entorno local de formato de Estados Unidos, la fecha del 4 de octubre de 2011 se presenta como 10/04/2011, mientras que la misma fecha utilizando el entorno local de formato del Reino Unido aparecería como 04/10/2011.

El usuario debe evaluar el código y determinar si se ve afectado por el cambio de comportamiento, ejecutar las pruebas correspondientes y realizar los cambios necesarios en el código.

Según la documentación, el usuario puede conservar el comportamiento anterior de JDK 6 estableciendo la propiedad sun.locale.formatasdefault en true o cambiando el código para utilizar el nuevo método getDefault(Locale.Category cat). En este caso, el parámetro cat será Locale.Category.FORMAT.

Para obtener información adicional, consulte las API de Java 7: