public final class Stopwatch extends Object
| Modifier and Type | Class and Description |
|---|---|
static interface |
Stopwatch.Ticker |
| Constructor and Description |
|---|
Stopwatch(Stopwatch.Ticker ticker) |
| Modifier and Type | Method and Description |
|---|---|
static Stopwatch |
createStarted()
Creates (and starts) a new stopwatch using
System.nanoTime() as its time source. |
static Stopwatch |
createUnstarted()
Creates (but does not start) a new stopwatch using
System.nanoTime() as its time source. |
java.time.Duration |
elapsed()
Returns the current elapsed time shown on this stopwatch as a
Duration. |
long |
elapsed(TimeUnit desiredUnit)
Returns the current elapsed time shown on this stopwatch, expressed in the desired time unit,
with any fraction rounded down.
|
boolean |
isRunning()
|
Stopwatch |
reset()
Sets the elapsed time for this stopwatch to zero, and places it in a stopped state.
|
Stopwatch |
start()
Starts the stopwatch.
|
Stopwatch |
stop()
Stops the stopwatch.
|
String |
toString()
Returns a string representation of the current elapsed time.
|
public Stopwatch(Stopwatch.Ticker ticker)
public static Stopwatch createUnstarted()
System.nanoTime() as its time source.public static Stopwatch createStarted()
System.nanoTime() as its time source.public boolean isRunning()
public Stopwatch start()
Stopwatch instanceIllegalStateException - if the stopwatch is already running.public Stopwatch stop()
Stopwatch instanceIllegalStateException - if the stopwatch is already stopped.public Stopwatch reset()
Stopwatch instancepublic long elapsed(TimeUnit desiredUnit)
Note: the overhead of measurement can be more than a microsecond, so it is generally
not useful to specify TimeUnit.NANOSECONDS precision here.
It is generally not a good idea to use an ambiguous, unitless long to represent
elapsed time. Therefore, we recommend using elapsed() instead, which returns a
strongly-typed Duration instance.
public java.time.Duration elapsed()
Duration. Unlike elapsed(TimeUnit), this method does not lose any precision due to rounding.Copyright © 2022. All rights reserved.