我刚刚开始学习Java Runnables,我听说过Callables.但是,我非常努力解决这个问题.我想创建一个方法,它将函数作为参数(无论是作为Callable,Runnable还是其他东西,只要我可以简单地将函数称为coolNewFunction(() – > otherFunction(),100)或一些类似的简单方法)并且该方法将返回otherFunction的返回值的数组.例如,假设我定义了该函数
@H_301_5@public static int square(int x){
return x * x;
}
然后我可以做一些事情:
@H_301_5@coolNewFunction(() -> square(),100)
这将返回前100个数字及其正方形的数组(即{{1,1},{2,4},{3,9} ……}).现在马上就知道lambda() – > square()不起作用,因为square必须传递一个值.我创建了一个包含100个Runnables的数组,每个Runnables都有square的下一个参数,但是方法run()仍然没有返回任何内容.所以,长话短说,一个方法看起来会是什么样的,它会评估另一个函数,它在不同的x值下作为参数给出,并返回该评估的数组?此外,我最好不要开始任何新的线程,虽然这是唯一可以实现这一点的方法.最后,我不想以特殊方式(最好)实现方形(或其他)功能.
最佳答案
希望这可以帮助:
@H_301_5@
public int[][] fn2Array(Function