java - 接口(interface)泛型重载

标签 java c# kotlin

我可以在 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/

相关文章:

linked-list - 在 Kotlin 中实现链表

kotlin - 如何限制 kotlin 使用 jdk1.6 上面公布的 java api

java - 为什么在使用 jquery 和 spring mvc 上传文件时出现 Bad Request 类型的错误?

java加载像ClientBundle GWT这样的资源文件

c# - itextsharp 读表

c# - 面向对象编程 : Separation of Data and Behavior

android - Gradle 失败 - null VariantManager

java - 如何使用 ucanaccess 获取查询中的行数

java.lang.NullPointerException : null when using Spring Boot

C#获取窗体某个位置的控件