我可以在 C# 中执行以下操作。是否可以在 kotlin 或 java 中执行相同的操作?
public interface IFactory<in TModel, out TOutModel>
{
TOutModel Create(TModel model1);
}
public interface IFactory<in TModel1, in TModel2, out TOutModel>
{
TOutModel Create(TModel1 model1, TModel2 model2);
}
最佳答案
JVM 不允许在多个泛型参数上重载接口(interface)、类或方法。
基于 JVM 的语言可以通过在字节码中为这两个接口(interface)提供不同的名称来实现这一点,但 Java 和 Kotlin 都不会这样做(而且我不知道有任何语言可以这样做)。
关于java - 接口(interface)泛型重载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47791219/