我正在使用下面的代码创建java.util.Function Function>instance并使用Function instance的返回值将其传递给ExecutorService.Submit()方法。
//Approach-1
Function<Integer, Callable<Integer>> doubleIt_1 = (index) -> {return () -> {return index * 2;};};
//Approach-2
Function<Integer, Callable<Integer>> doubleIt_2 = (index) -> () -> {return index * 2;};
//Approach 3
Function<Integer, Callable<Integer>> doubleIt_3 = (index) -> () -> index * 2;
//Use the "doubleIt" lambda function defined above to pass as a Lambda function to ExecutorService threadpool's submit method.
Function<Integer, Future<Integer>> task = (Integer index) -> pool.submit(doubleIt_1(index));
编译器抛出错误:java:找不到符号symbol:method doubleIt_1(java.lang.integer)location:class declarative.l12legacytoFunctionalInterface_4
请帮忙...
您必须调用函数的方法来调用doubleIt_1实现,如下所示:
//Use the "doubleIt" lambda function defined above to pass as a Lambda function to ExecutorService threadpool's submit method.
Function<Integer, Future<Integer>> task = (Integer index) -> pool.submit(doubleIt_1.apply(index));
函数接口只有4个方法,核心方法是apply(T):R
,在这里传递T值,它返回R响应。示例:
public static void main(String[] args) {
Function<Integer, Double> t = new Function<Integer, Double>() {
@Override
public Double apply(Integer t) {
return t.doubleValue();
}
};
callFunction(t, 10);
t = (i) -> i.doubleValue();
callFunction(t, 10);
t = (Integer i) -> {return i.doubleValue();};
callFunction(t, 10);
callFunction((i) -> i.doubleValue(), 10);
}
private static Double callFunction(Function<Integer, Double> f, Integer i){
return f.apply(i);
}
我正在使用下面的代码创建java。util。功能 但是,我得到一个“未找到符号”异常。请帮忙 下面是代码片段: 编译器抛出错误:java:找不到symbol:方法doubleIt_1(java.lang.Integer)位置:类声明性。L12Legacytomfunction接口4 请帮忙...
我正在使用springboot和gradle,我正在尝试在控制器中执行下面的代码。 在编译时,我得到以下错误 错误:找不到symbol=List.of(“水星”,“金星”,“地球”,“火星”,^symbol:方法of(String,String,String,String,String,String,String,String,String,String) 位置:接口列表 我的分级档案 sourc
问题内容: 当前模式与功能之一不同时,属性表示法函数调用会出错。 我创建了一个函数 我正在尝试使用docs中描述的带有属性符号的函数: 但是收到一条错误消息: 使用功能符号的查询可以正常工作: 数据库已通过备份/还原从PostgreSQL 10迁移。 给出: UPD 。发现如果我将架构设置为默认值,则可以正常工作。 问题答案: 您自己找到了问题的根源。确切地说:函数的模式必须在current中的
这里有一个类似的答案:如何在Java中将函数作为参数传递? 但提供的正确答案不起作用。我有一门课: 在函数内部我试图将传递到,但我得到的错误是: 找不到符号 符号:类Callable 我不知道为什么。 另外,我尝试使用返回类型字符串作为xMethod,您能传递一个返回类型不同的函数吗?
我正在创建一个程序,用户(教师)在其中输入一组百分比分数,并对这些分数进行分析,输出框打印出平均值、最小值/最大值、范围和“R级”、“1级”、“2级”等分数。 我面临的问题是将分数分为不同级别的方法。当我尝试将数组返回到main方法,并尝试将其打印到输出时,我得到了一个数组错误,即“找不到符号” 因此,当我使用主方法打印所有信息时,我应该将levelCount数组放入另一个数组中,我做到了。以下是
问题内容: 我是Java的新手,如果我的问题很愚蠢,对不起。我正在从事这项工作,并且我已经阅读了几个小时的主要方法,但是我无法弄清楚。我在下面放了一些代码。我可能离这里很远,但是我希望完成的工作是获取启动构造函数的主要方法,但是在编译时出现错误,提示“找不到符号- 构造函数Player”。现在,我想这与构造函数的字符串参数有关,但我全力以赴。如果有人可以阐明这个可能很简单的问题,我会很高兴的:)
问题内容: 我使用时代码工作正常 吗?在我看来这很奇怪。 (错误显示在终端上) 问题答案: 这是 Arrays 类的静态方法。 您应该像这样调用它: 请注意,您仍然必须像这样导入Arrays类: 或者像其他人提到的那样,如果您进行静态导入,则可以省略类名。 我认为这样做对可读性更好。
(菜鸟失误,我确定。) 我是计算机科学专业的一年级学生,正在尝试用代码编写作业程序; 但是在编译时,我得到了错误; Lab10Ex1.java:10: 错误: 找不到符号 System.out.print(n 1);^ 符号:变量n 位置: 班级 Lab10Ex1 如果有人能向我解释我做错了什么,或者如何纠正它,我会非常感激。