有没有办法在静态上下文中实现wait();
(非静态方法)。例如:
public static void getkeylist(List keylist){
for (int i=0;i<keylist.size();i++){
System.out.println(keylist.get(i));
wait(1000);
}
}
我收到错误“非静态方法wait(long)无法从静态上下文引用。”
请帮我解决我的问题。提前谢谢。
答案 0 :(得分:4)
Thread.sleep(1000);
wait
实际上用于线程控制,以及notify
。我认为你对方法名称感到困惑。
答案 1 :(得分:1)
假设你的类是调用Foo,你可以调用Foo.class.wait(1000)
,或者你也可以定义一个静态对象并调用wait方法:
private static final Object lock = new Object();
...
lock.wait();
答案 2 :(得分:0)
创建非静态方法类对象并使用它。
.....
Foo foo = new Foo();
foo.wait();
.....