任务是:
修改所有以字母表后半部分字母开头的工人的奖金。
class Worker that extends Employee
{
public Worker(String name, int yOfEmp, int salary, Manager boss){
super(name, yOfEmp, salary,boss);
boss.addEmployee(this);
}
public float getBonus(Employee emp){
Random rand = new Random();
float proc = rand.nextFloat();
return emp.getSalary() * proc;
}
public float setBonus(Employee e, float proc){
float newProc = proc;
return e.getSalary() * proc;
}
@Override
public String toString() {
return super.toString();
}
}
class RegWorker extends Worker
{
}
class Main
{
public static void main(String[] str) {
Manager bill = new Manager("Bill", 2010, 2549, null);
Manager steven = new Manager("Steven", 2011, 2100, bill);
Trainer jerry = new Trainer("Jerry", 2014, 800, steven);
RegWorker john = new RegWorker("John", 2010, 1000, bill);
RegWorker kate = new RegWorker("Kate", 2011, 1000, bill);
RegWorker sam = new RegWorker("Sam", 2013, 1200, steven);
final List<Worker> workers = Arrays.asList(jerry, john, kate, sam);
System.out.println("Modify bonuses for all regular workers:");
RegWorker reg = null;
List<RegWorker> regWorkers = workers
.stream()
.filter(w -> w.getClass() == reg.getClass())
.filter(w -> w.getName().charAt(0) < 'O')
.map(w -> w.setBonus(w, w.getBonus(w)+3))
.collect(toList());
}
我有这个错误
原因:推理变量T具有不兼容的边界
相等约束:RegWorker
下界:Float
在执行map
时,将流对象替换为mapper函数返回值,该值是setBonus
的返回值,即float。所以在map
步骤之后,您没有流
似乎您想使用
peek
而不是map
。此外,您还需要将流元素强制转换为RegWorker
类,因为原始流是stream
List<RegWorker> regWorkers = workers
.stream()
.filter(w -> w instanceof RegWorker)
.filter(w -> w.getName().charAt(0) < 'O')
.map(w -> (RegWorker)w)
.peek(w -> w.setBonus(w, w.getBonus(w)+3))
.collect(toList());
错误:(65,52)java:不兼容类型:推理变量U的边界不兼容等式约束:akka。http。javadsl。模型HttpResponse下限:com。我的演员。聊天演员。聊天信息 下面这行代码显示了错误: 这里是HttpResponse是Akka Http的。 我不知道它在说什么。解决它的方法应该是什么?
JDK 1.8 设置和收集。 我想数一数那个十字路口 我试试这个: 但我有一个错误:
我有以下代码 出于某种原因,它抛出了以下编译错误 Solution.java:11:错误:不兼容类型:推断变量T具有不兼容的边界List=Arrays.asList(A);^相等约束:整数下界:int[]其中T是类型变量:T扩展方法中声明的Object asList(T...) 我假设这是一个Java8功能但我不知道如何解决这个错误
正如斯图尔特·马克斯(Stuart Marks)指出的那样,我试图为这里所述的问题编写一个解决方案,以使用一个helper类。由于这个错误,我被代码卡住了: 我当前的代码: 我本人对Java 8很陌生,解决方案可能是错误的,但我不知道错误是什么意思,也不知道如何解决它。元组类过去也是泛型的,但因为我认为这导致了问题,我删除了泛型类型,但仍然存在相同的错误。
我已经复习了“可能相关”的问题,但它们似乎没有帮助;我也是一个初学者,尤其是Java8,所以请耐心听我说! 问题是,我想将一个包含值列表的文件(在本例中是双数字)读入一个数组。我在助手类中作为方法来做这些,因为我希望在我的项目中需要多次这样做。 我已经创建了一个将文件转换为二维双数组的简单方法- 这很有效,我一直在成功地使用它。然后我想尝试将一个包含一长串大数字的文件读入一个1D数组,所以尝试快速
这是我的分类程序类,我试图在其中实现一些算法。 但是,在编译时,我得到了以下错误: 必需:AbstractList found:ArrayList原因:推理变量T具有不兼容的边界等式约束:ShipDetail上限:Comparable,其中T是类型变量:T扩展了方法QuickSort(AbstractList)中声明的Comparable