1

我正在尝试阅读Clojure 源代码

有一个 IFn 接口,其声明如下:

公共接口 IFn 扩展 Callable、Runnable{

我认为Callable通用的。IFn 怎么知道这里指定的类型是什么?

Interface Callable<V>
4

1 回答 1

4

它不能。该声明基本上使用原始类型,这是一个坏主意。写成这样会好得多:

public interface Function<V> extends Callable<V>, Runnable

也就是说 - 我没有注意到你在谈论 Clojure 而不是 Java。鉴于他们正在建立语言之间的桥梁,他们可以在某种程度上使用类型系统做他们想做的事情:)

于 2012-11-07T17:24:02.337 回答