【发布时间】:2012-11-07 17:17:31
【问题描述】:
我正在尝试阅读 Clojure source code。
有一个IFn接口,其声明如下:
公共接口 IFn 扩展 Callable、Runnable{我认为 Callable 是通用。 IFn 怎么知道这里指定的类型是什么?
Interface Callable<V>
【问题讨论】:
-
在实现泛型之前代码可能被设计为向后兼容?
我正在尝试阅读 Clojure source code。
有一个IFn接口,其声明如下:
公共接口 IFn 扩展 Callable、Runnable{我认为 Callable 是通用。 IFn 怎么知道这里指定的类型是什么?
Interface Callable<V>
【问题讨论】:
不能。该声明基本上使用原始类型,这是一个坏主意。写起来会好很多:
public interface Function<V> extends Callable<V>, Runnable
也就是说 - 我没有注意到您在谈论 Clojure 而不是 Java。鉴于他们正在建立语言之间的桥梁,他们可以在某种程度上使用类型系统做他们想做的事情:)
【讨论】:
UK 中给出,你一定会参加聚会的.. ;)