There was an answer similar to this here: How to pass a function as a parameter in Java?
but the correct answer provided does not work. I have a class:
public class randomClass {
2
3 public String name;
4 private int x;
5 private boolean y;
6
7 public randomClass(String name){
8 this.name = name;
9 setAttributes(1,true, "test");
10 System.out.println(x + "," + y);
11 }
...
21
22 public int xMethod(){
23 return 1;
24 }
25
26 public void passMethod(){
27 testMethod(new Callable<Integer>() {
28 public Integer call(){
29 return xMethod();
30 }
31 });
32 }
33
34 public void testMethod(Callable<Integer> myFunc){
35
36 }
Inside function passMethod
I'm trying to pass xMethod
into testMethod
, but the error I get is:
cannot find symbol
symbol : class Callable
and I'm not sure why.
Also, I tried using return type String for xMethod, can you pass a function with different return types then Integer?