RFR: 8312089: Simplify and modernize equals, hashCode, and compareTo in java.nio and implementation code [v2]
Pavel Rappo
prappo at openjdk.org
Fri Jul 14 13:16:27 UTC 2023
> Please review this PR to use modern APIs and language features to simplify equals, hashCode, and compareTo for in java.nio and implementation code.
>
> Please note, test results are pending.
>
> Additional notes:
>
> * This PR saves a volatile read in java.nio.file.attribute.AclEntry.hashCode. Not that it's too important, but worth noting because of rearrangements.
>
> * java.nio.charset.Charset#compareTo seems **inconsistent** with equals. If so, I cannot see where that inconsistency is specified.
>
> * Is this a **bug** in sun.nio.ch.FileKey#hashCode? Tell me if not, I'll revert it.
>
> * This PR simplifies the tail of java.nio.file.attribute.FileTime.compareTo. Unless I'm missing something, that comment in source above the affected lines **seems** not to prohibit such a simplification.
>
> * sun.nio.fs.UnixFileStore#hashCode does not include entry.name(). While it's not wrong, I wonder if it was on purpose.
>
> * Despite its title, this PR also and opportunistically refactors sun.nio.fs.UnixPath.endsWith.
Pavel Rappo has updated the pull request incrementally with two additional commits since the last revision:
- Address another case from feedback
- Address feedback
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/14886/files
- new: https://git.openjdk.org/jdk/pull/14886/files/ad22456d..a39780f5
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=14886&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=14886&range=00-01
Stats: 21 lines in 6 files changed: 3 ins; 5 del; 13 mod
Patch: https://git.openjdk.org/jdk/pull/14886.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/14886/head:pull/14886
PR: https://git.openjdk.org/jdk/pull/14886
More information about the nio-dev
mailing list