【问题标题】:Scala can't import a class that Java canScala 无法导入 Java 可以导入的类
【发布时间】:2020-02-11 00:14:49
【问题描述】:

为什么我可以在 Java 中做到这一点:

import javax.swing.GroupLayout.Group;

但如果我在 Scala 中做同样的事情(通过使用 Ammonite),我会得到:

值组不是对象 javax.swing.GroupLayout 的成员可能 原因:“值组”之前可能缺少分号?进口 javax.swing.GroupLayout.Group

是不是因为Group 是一个从名为Spring 的私有类派生的公共类?

我既不能导入SequentialGroup 也不能导入ParallelGroup

这是 Scala 中的错误吗? 我正在使用 Java 11 和 Scala 2.12.10。

Scala 2.13.1 也失败了。 :-(

我需要导入,用于定义可以具有Group 参数的通用方法,该参数可以是ParallelGroupSequentialGroup

【问题讨论】:

标签: scala


【解决方案1】:

我想生成一个将 Group 作为参数的通用方法,可以是 ParallelGroup 或 SequentialGroup

那就是type projection

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

或者如果您也有该组所属的布局,

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

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

【讨论】:

    猜你喜欢
    • 2013-02-20
    • 2012-12-06
    • 1970-01-01
    • 1970-01-01
    • 2016-03-31
    • 2017-10-11
    • 2016-04-23
    • 1970-01-01
    相关资源
    最近更新 更多