@Override public void run() {
for (int j = 0; j < forLoops; j++) {
try {
Thread.sleep(sleepTime);
} catch (InterruptedException e) {
break;
}
}
}
如果没有中断,代码将先完成for循环,然后停止。
我的问题是为什么我们不需要在MyCallableTask
的call()
实现中包含任何中断或返回?我的意思是,为什么代码成功地在call()
方法中立即中断for循环,而没有任何额外的指令?
@Override public Void call() throws Exception {
for (int j = 0; j < forLoops; j++) {
Thread.sleep(sleepTime);
}
return null;
}
InterruptedException
是已检查的异常。
您必须在方法内部处理它(使用try/catch),或者声明方法抛出它(或超类)。
可运行实现不能抛出像interruptedexception
这样的检查异常(其基声明没有throws exception
或throws interruptedexception
);callable
可以,因为它的声明可以。
问题内容: 为什么我们不能在非静态内部类中使用静态方法? 如果我将内部类设为静态,则它可以工作。为什么? 问题答案: 因为内部类的实例与外部类的实例隐式关联,所以它本身不能定义任何静态方法。由于静态嵌套类无法直接引用其封闭类中定义的实例变量或方法,因此只能通过对象引用使用它们,因此在静态嵌套类中声明静态方法是安全的。
我在vue方法中启动Sweatrep时遇到问题。如果我直接在脚本中调用Sweatrep,但当我想在单击按钮时启动Sweatrep时不会发生任何事情(控制台中没有错误)。代码看起来 Vue(Vuetify) 这项工作 不行 我是新的Vue,所以也许错误很容易看到,但我不知道为什么没有工作。 所以问题是:为什么当我点击一个按钮时不能启动sweetalert模式?
问题内容: 我有一个expressjs应用程序,在特定的路由上,我调用了一个函数,该函数通过使用数据库文档作为参数来响应数据库中的用户。我使用基于promise的库,并且想在将数据库文档放入响应中的回调内联。但是当我这样做时程序会失败。有人可以解释为什么吗?我还想知道为什么内联调用才能真正起作用。两种方法和之间有一些根本区别吗? 这是一个有效和无效的示例。假定返回用户文档的承诺。 问题答案: 像这
问题内容: 为什么我们不能在非静态内部类中使用静态方法? 如果我将内部类设为静态,则可以工作。为什么? 问题答案: 因为内部类的实例与外部类的实例隐式关联,所以它本身不能定义任何静态方法。由于静态嵌套类无法直接引用其封闭类中定义的实例变量或方法,因此只能通过对象引用使用它们,因此在静态嵌套类中声明静态方法是安全的。
作为一个初学者,我想知道为什么我的仅在放在主块内时有效? 当我有这样的代码时,我不能调用该方法。 方法调用类: 包含以下方法的类:
问题内容: 我想遍历“节日” 的 ArrayList 并使用 get 方法获取其信息,并打印出其所有值。由于某些原因,当我使用此代码时,它将始终选择第“ 0”个值,而不增加循环。 如果我将值硬编码为“ get(1)”,它将获得正确的值,因此我的问题显然是语法。 问题答案: 造成具体问题的原因是,您将灰心丧气的旧式_脚本_和其后继EL混合在一起。它们不共享相同的变量范围。在中不可用 _scriptl