Как импортировать два класса с одинаковым именем в разных пакетах?
Я хочу импортировать эти два класса, оба с именем Query
- один a JDO класс, другой a JPA класс, для использования в разных методах в одном классе.
import javax.jdo.Query;
import javax.persistence.Query;
есть ли способ глобально импортировать оба из них одновременно в верхней части файла?
3 ответов
единственная цель import
оператор должен установить сокращенный псевдоним для полного имени. Если бы вам было разрешено импортировать оба, вы бы создали двусмысленность, которая потребовала бы вывода типа для решения и сделала ваш код чрезвычайно трудным для чтения.
существующие ответы верны. Я хотел бы показать вам, как конфликты имен классов могут быть обработаны в Kotlin (docs).
Если есть конфликт, мы можем различать с помощью as
ключевое слово для локального переименования сущности clashing:
import javax.jdo.Query // Query is accessible
import javax.persistence.Query as jpaQuery // jpaQuery stands for 'javax.persistence.Query'
это +1 причина, почему вы должны рассмотреть Котлин для вашего следующего проекта.