【问题标题】:Static and dynamic type of Set of items which implement an interface实现接口的一组项目的静态和动态类型
【发布时间】:2018-06-12 02:17:27
【问题描述】:

我有一个接口“workers”和一个实现它的类,称为“teachers”。

在另一个类中,我的构造函数接收一个参数:设置 教师 我想将此参数传递给一个超级构造函数,该构造函数接收来自类型的参数:Set 。 我该怎么做?

编译: workers blabla=new teachers(1,"blabla");

这不是:设置< workers> set2=new HashSet< teachers>();

【问题讨论】:

  • 欢迎来到 Stack Overflow!请阅读(并关注)Java Naming Conventions
  • 设置 extends Worker> = new HashSet();
  • 谢谢!你能解释一下这个synax吗?它工作得很好,但我不明白:(集合中发生了什么部分)集合 set1=(Set)(Set)crewMembers;

标签: java types interface


【解决方案1】:

您可以使用以下方法将Set<Teachers> 转换为Set<Workers>

Set<Workers> set2 = new HashSet<Workers>(setOfTeachers);

但请注意,这将允许您将任何类型的工作人员添加到 Set(即不仅仅是 Teachers

【讨论】:

    猜你喜欢
    • 2014-09-09
    • 1970-01-01
    • 2012-06-14
    • 2016-08-31
    • 2012-01-17
    • 1970-01-01
    • 2012-07-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多