RFR: 7083187: Class CSS.CssValue is missing implementations of equals() and hashCode() [v16]
Alexey Ivanov
aivanov at openjdk.org
Thu Jun 8 07:25:00 UTC 2023
On Thu, 8 Jun 2023 03:50:35 GMT, Prasanta Sadhukhan <psadhukhan at openjdk.org> wrote:
>> Two CSS AttributeSet-s can be compared using the AttributeSet.isEqual() method which can fail due to missing implementation of equals method in CSS subclasses.
>> In this issue, even when two CSS AttributeSet has same 42 font size string value, Object equality fails.
>> Fixed by implementing the equality and hashCode method for CSS.FontSize class.
>>
>> All jtreg/jck tests are ok
>
> Prasanta Sadhukhan has updated the pull request incrementally with one additional commit since the last revision:
>
> Address hashcode review comment
src/java.desktop/share/classes/javax/swing/text/html/CSS.java line 2684:
> 2682: if (units != null) {
> 2683: hashCode |= units.hashCode();
> 2684: }
In previous cases, you used `Objects.hashCode(units)`, I presume, to avoid explicit null-check and branches. Wouldn't it work here too?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/13405#discussion_r1222566787
More information about the client-libs-dev
mailing list