如何在java8中通过不同的动态类型重载?

Zhang Xinye

如何通过动态类型参数覆盖方法?或者,他们是否有类似的功能?像这样:

class a{
    public ArrayList<Movie> getEntries(Function<Movie, Boolean> filter){

    }
    public ArrayList<Ticket> getEntries(Function<Ticket, Boolean> filter){

    }
}

我通过将 getEntries 声明为:

public <T extends Model> ArrayList<T> getEntries(Predicate<T> filter) { }

并且,让 Movie 和 Ticket 扩展 Model。

弗洛里安·S。

这是不可能的,因为 Java 编译器删除了泛型信息(类型擦除),这将导致类具有两个方法签名完全相同的方法。

请参阅Oracle 教程

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Java8中为void(不是Void)方法指定函数类型?

如何在JAVA8中通过lambda表达式将Map转换为SortedMap?

如何在Java8中使用流返回特定类型的数组而不是泛型类型的数组

用Java中的不同返回类型重载?

如何在Python中动态重载函数?

如何在Java8中执行此paralell任务

如何在Java8中使用Optional

如何在Java8流中管理附带影响

如何在Java中动态声明实例的泛型类型

如何在Java中抽象不同的返回类型?

如何在java中处理不同类型的输入

List如何在Java中包含不同类型?

如何在Java中编写重载函数

如何在Java中调用重载方法

如何在Java 8中动态进行过滤?

如何在Python 3中使用类型注释重载不同接口的相同命名方法

如何在java8中的字符串列表中更改项目

在java8中,如何在lambdas foreach块中设置全局值?

如何在 C 中制作包含不同数据类型的动态多维数组?

Java8:如何通过流过滤列表值的映射

如何通过java8将列表转换为映射?

如何在Scala中通过动态输入选择类型类

如何在java8中定义没有args或返回值的函数?

如何在Java8中强制对流进行即时评估

如何在Java8中将“当前日期”更改为MinguoDate?

如何在JAVA8中将地图数组转换为地图?

如何在Java8中使用if有效地创建列表?

如何在java8中嵌套的forEach()内部设置值?

如何在Java8的List <Map <String,Object >>中获取最大值