Следующий код компилируется
Foo.java
public class Foo<T> {
}
API.java
public class API {
public static Foo<?> getFoo() {
return null;
}
}
App.scala
object App {
val fooValue: Foo[_] = API.getFoo()
}
Foo[?]
не является допустимым синтаксисом Java.
Если метод public static Foo<?> getFoo()
, вы можете вызвать его какAPI.getFoo()
.Если это public Foo<?> getFoo()
, вы можете назвать его как new API().getFoo()
.
Вопросительный знак (?
) в Java соответствует подчеркиванию (_
) в Scala.