Scala не может импортировать класс, который может Java - PullRequest
2 голосов
/ 10 февраля 2020

Почему я могу сделать это в Java:

import javax.swing.GroupLayout.Group;

, но если я сделаю то же самое в Scala (используя Аммонит), я получу это:

Значение Group не является членом объекта javax.swing.GroupLayout Возможная причина: возможно, точка с запятой отсутствует перед значением Value Group? import javax.swing.GroupLayout.Group

Это связано с тем, что Group является публичным c классом, производным от частного класса с именем Spring?.

Я не могу импортировать ни SequentialGroup, ни ParallelGroup.

Это ошибка в Scala? Я использую Java 11 и Scala 2.12.10.

Scala 2.13.1 также не удается. : - (

Мне нужен импорт для определения обобщенного метода c, который может иметь параметр Group, который может быть либо ParallelGroup, либо SequentialGroup.

.

1 Ответ

4 голосов
/ 10 февраля 2020

Я хотел бы сгенерировать обобщенный c метод, который принимает в качестве параметра группу, которая может быть либо ParallelGroup, либо SequientialGroup

Это будет тип проекции

def method(group: GroupLayout#Group) = ...

или, если у вас также есть макет, к которому принадлежит группа,

def method(layout: GroupLayout)(group: layout.Group) = ...

или

val layout: GroupLayout = ...
def method(group: layout.Group) = ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...