-2

我打电话时遇到问题Thread.CurrentThread.sleep(0.5*1000)

当我这样做时:

import java.lang.Thread.*;    
Thread.currentThread().sleep(0.3*1000)
// or Thread.currentThread().sleep(0.3*1000.toLong())

我收到以下错误:

No signature of method: java.lang.Thread.sleep() is applicable for argument types: (java.math.BigDecimal) values: [300.0]
Possible solutions: sleep(long), sleep(long), sleep(long, int), sleep(long, groovy.lang.Closure), stop(), grep()

你会推荐什么 ?

4

1 回答 1

3

您作为参数提供的表达式:0.3*1000指的是乘法(float*int= float),结果是推断的 Float 类型。

您应该提供一个长参数作为 sleep 函数的参数,您可以通过简单地转换表达式结果来实现:

Thread.currentThread().sleep((long)(0.3*1000));
于 2013-08-07T08:34:37.693 回答