作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
你好,我有两个类:Person 类和扩展 Person 的 Employee 类它们看起来很简单
public class Person {
private String name;
private String surname;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSurname() {
return surname;
}
public void setSurname(String surname) {
this.surname = surname;
}
public Person(String name, String surname) {
super();
this.name = name;
this.surname = surname;
}
}
public class Employee extends Person {
private String salary;
private String position;
public String getSalary() {
return salary;
}
public void setSalary(String salary) {
this.salary = salary;
}
public String getPosition() {
return position;
}
public void setPosition(String position) {
this.position = position;
}
public Employee(String name, String surname, String salary, String position) {
super(name, surname);
this.salary = salary;
this.position = position;
}
}
我想编写一个函数来添加 Person下限参数化列表
public class AuxiliaryClass {
public static void addToList(List<? super Employee> list){
Person osoba1 = new Person("Czeslaw","Spiewa");
list.add(osoba1);
}
}
但是 eclipse 不允许这样做带有错误消息:“List 类型中的方法 add(capture#1-of ?super Employee) 不适用于参数 (Person)
最佳答案
List<? super Employee>
表示“一些未知但具体类X的列表,即Employee
的父类(super class)。
现在应该清楚为什么不能添加 Person
类型的对象了到此列表:Person
不是X
.
如果您解释一下您真正想在这里做什么,我们也许可以提供更多帮助。
更新:事实上,我收回这句话。 Person
是 X
,因为它是 Employee
的子类,它是 X
的子类。应该可以将其添加到列表中。看起来 eclipse 就充满了它。 Javac (1.8) 让我可以做到这一点,intellij 也可以。
抱歉造成困惑。
关于Java 下界类型 List 作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34828498/
我是一名优秀的程序员,十分优秀!