错误:“找不到符号”

时间:2012-09-30 09:05:58

标签: java

这里有一个类似的答案: How to pass a function as a parameter in Java?

但提供的正确答案不起作用。我有一节课:

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         }

内幕功能passMethod我正试图将xMethod传递给testMethod,但我得到的错误是:

  

找不到符号
  符号:类Callable

我不知道为什么。

另外,我尝试使用返回类型String for xMethod,你能传递一个具有不同返回类型的函数,然后是Integer吗?

1 个答案:

答案 0 :(得分:0)

我认为您需要将Callable导入为import java.util.concurrent.Callable;,然后在使用之前在您的班级中实施。

点击此处:

http://docs.oracle.com/javase/1.5.0/docs/api/java/util/concurrent/Callable.html

http://kamleshkr.wordpress.com/2009/10/02/java-threads-callable-and-future/