Locale - Java

Sou iniciante em java e me deparei com o seguinte exemplo:

package com.bruno.extras;
import java.text.DecimalFormat;
import java.util.Locale;
public class Locale {

	public static void main(String[] args) {
		DecimalFormat df = new DecimalFormat();
		Locale local = Locale.getDefault;
		System.out.println("Configurações do Sistema Operacional");
	    double valor = 1370.25;
	    if (local.getCountry().equals("BR"))
	    {
	    	df.applyPattern("R$ #,##0.00");
	    }
	System.out.println("valor: " + df.format(valor));
	}
}

Porém ao tentar fazê-lo no Eclipse, que é a IDE que estou utilizando, The import java.util.Locale conflicts with a type defined in the same file, logo na linha 3. Alguém sabe qual o problema neste códido

Como a mensagem diz, o import do Locale conflita com o nome da sua classe que também é Locale.

Se quer chamar sua classe de Locale não há problema nenhum, só que você não pode fazer o import de uma classe de mesmo nome.

Se quer usar uma classe de mesmo nome, vai ter que usar sempre o nome do pacote seguido do nome da classe ao declarar variáveis do tipo dela.

Exemplo:

package com.bruno.extras;

import java.text.DecimalFormat;

public class Locale {

    public static void main(String[] args) {
	    DecimalFormat df = new DecimalFormat();
	    java.util.Locale local = java.util.Locale.getDefault();
        System.out.println("Configurações do Sistema Operacional");
        double valor = 1370.25;
        if (local.getCountry().equals("BR")) {
    	    df.applyPattern("R$ #,##0.00");
        }
        System.out.println("valor: " + df.format(valor));
    }
}
1 curtida