File: PreferJavaTimeOverload.md

package info (click to toggle)
error-prone-java 2.4.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 15,076 kB
  • sloc: java: 171,398; xml: 1,459; sh: 34; makefile: 7
file content (19 lines) | stat: -rw-r--r-- 667 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
APIs that accept a `java.time.Duration` or `java.time.Instant` should be
preferred, when available.

JodaTime is now considered a legacy library for Java 8+ users.

Representing date/time concepts as numeric primitives is strongly discouraged
(e.g., `long timeout`).

APIs that require a `long, TimeUnit` pair suffer from a number of problems

1.  they may require plumbing 2 parameters through various layers of your
    application

2.  overflows are possible when doing duration math

3.  they lack semantic meaning (when viewed separately)

4.  decomposing a duration into a `long, TimeUnit` is dangerous because of unit
    mismatch and/or excessive truncation.