En Python puedes hacer lo siguiente:
from a import b as c
¿Cómo harías esto en Java, ya que tengo dos importaciones que están chocando?
En Python puedes hacer lo siguiente:
from a import b as c
¿Cómo harías esto en Java, ya que tengo dos importaciones que están chocando?
No hay un mecanismo de aliasing de importación en Java. No puedes importar dos clases con el mismo nombre y usar ambas sin calificar.
Importa una clase y usa el nombre completo para la otra, es decir,
import com.text.Formatter;
private Formatter textFormatter;
private com.json.Formatter jsonFormatter;
Como han mencionado las otras respuestas, Java no proporciona esta función.
La implementación de esta función ha sido solicitada varias veces, por ejemplo, como JDK-4194542: class name aliasing o JDK-4214789: Extender la importación para permitir el cambio de nombre del tipo importado.
De los comentarios:
Esta no es una solicitud irrazonable, aunque poco esencial. El uso ocasional de nombres completamente calificados no es una carga excesiva (a menos que la biblioteca realmente reutilice los mismos nombres simples una y otra vez, lo cual es mal estilo).
En cualquier caso, no cumple con el criterio de precio / rendimiento para un cambio de lenguaje.
Así que supongo que no veremos esta función en Java en el corto plazo :-P
Probablemente vale la pena señalar que Groovy tiene esta característica:
import java.util.Calendar
import com.example.Calendar as MyCalendar
MyCalendar myCalendar = new MyCalendar()
Hoy presenté un borrador de JEP a OpenJDK sobre esta característica de aliasing. Espero que lo reconsideren.
Si estás interesado, puedes encontrar un borrador de JEP aquí: https://gist.github.com/cardil/b29a81efd64a09585076fe00e3d34de7
Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.