Ricerca di una modifica al comportamento nel metodo Local getDefault

Questa regola contrassegna le istanze del metodo java.util.Locale getDefault().

Questo metodo viene contrassegnato perché c'è un cambiamento del comportamento ad esso associato. Secondo la documentazione Java SE 7 and JDK 7 Compatibility in Java 7, l'utente può ora accedere alla locale di visualizzazione (la rappresentazione visiva di una stringa ad esempio) o alla locale del formato (il formato effettivo di una stringa ad esempio). Per poter realizzare ciò, Java 7 ha aggiunto il nuovo metodo: getDefault(Locale.Catgory cat) dove Locale.Category è una nuova enumerazione con le opzioni DISPLAY o FORMAT. Utilizzando questo nuovo metodo, l'utente può ottenere la locale specifica che gli interessa.

Il metodo precedente, contrassegnato da questa regola, getDefault() è stato aggiornato in modo da risultare equivalente alla chiamata getDefault(Locale.DISPLAY). Prima di Java 7, il metodo getDefault() risultava equivalente a getDefault(Locale.FORMAT)

La locale di visualizzazione determina la visualizzazione dei dati in un'interfaccia utente, quale una finestra o una finestra di dialogo. Ad esempio, i dati possono essere visualizzati in una lingua diversa rispetto a quella del sistema host.

La locale del formato determina come i dati vengono formattati. Ad esempio, utilizzando la locale del formato degli Stati Uniti, la data 04 ottobre 2011 viene presentato come 10/04/2011 mentre la stessa data con la locale del formato del Regno Unito viene visualizzata come 10.04.2011.

L'utente deve valutare il codice e determinare se è influenzato dalla modifica del comportamento, eseguire qualsiasi test appropriato ed apportare le modifiche necessarie al codice.

Secondo la documentazione, l'utente può conservare il comportamento precedente di JDK 6 impostando la proprietà sun.locale.formatasdefault su true o modificando il codice affinché utilizzi il nuovo metodo getDefault(cat Locale.Category). In questo caso, il parametro cat sarà Locale.Category.FORMAT

Per ulteriori informazioni, consultare la API di Java 7: