Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Colisão de classes com o import

Bom dia.

Quando estava fazendo o exemplo do FileWriter, tenho costume de colocar o mesmo nome da classe do java.io no projeto local, porém o eclipse não acusou erro.

import java.io.FileWriter;
class FileWriter {
  public static void main(String[] args) {

    FileWriter writer = new FileWriter();
  }
}

Estranhamente o eclipse discara o import e entende que estou tentando criar uma nova instância da minha FileWriter.

A dúvida é : Em outras linguagens eu posso criar um alias do import para evitar o conflito.

Algo como:

import java.io.FileWriter as IOFileWriter;

Existe algo similar no Java ?

Obrigado pela atenção...

5 respostas

Tenta:

java.io.FileWriter writer = new java.io.FileWriter();
solução!

Boa tarde.

Obrigado pela resposta. Utilizando o fully qualified name da classe resolve o problema, mas queria continuar utilizando import. Por exemplo, usando a classe br.com.alura.ByteBank.Conta é bem extensa para ficar redigitando.

Pesquisando acabei no StackOverflow numa discusão sobre o assunto: https://stackoverflow.com/questions/2447880/change-name-of-import-in-java-or-import-two-classes-with-the-same-name

Possui alguns links para o bug tracking da oracle:

E a resposta é não.

Mas já esta disponivel em Apache Groovy :)

Olá Michael, posso fechar o tópico então?

Pode...

Ok, fechando :)