Ale*_*lls 6 java generics typescript optional-typing gradual-typing
假设我有 3 个通用参数:
public static interface Mapper<V,T,E> {
public void map(KeyValue<V> v, AsyncCallback<T,E> cb);
}
Run Code Online (Sandbox Code Playgroud)
如何使参数可选?如果用户只提供第一个参数,如何为参数提供默认值?
使用 TypeScript,它看起来像:
public static interface Mapper<V,T = any,E = any> {
public void map(KeyValue<V> v, AsyncCallback<T,E> cb);
}
Run Code Online (Sandbox Code Playgroud)
因此,如果用户不提供 T 和 E,它们将默认为any。有没有办法用 Java 来做到这一点?
小智 1
我会说不。当 Java 的所有变量都被设置为某种类型并且永不改变时,Java 会很高兴。如果您想找到最大的灵活性,请尝试找到尽可能大的超类,例如 T = Object 和 E = Object。稍后当您需要使用该对象时,您可以将其类型转换为您想要的内容吗?或许?
| 归档时间: |
|
| 查看次数: |
11865 次 |
| 最近记录: |