diff -ur icu.org/source/i18n/unicode/rbtz.h icu/source/i18n/unicode/rbtz.h
--- icu.org/source/i18n/unicode/rbtz.h	2022-10-19 02:53:21.000000000 +0200
+++ icu/source/i18n/unicode/rbtz.h	2022-10-24 22:20:10.889969185 +0200
@@ -87,6 +87,7 @@
      * @stable ICU 3.8
      */
     virtual bool operator!=(const TimeZone& that) const;
+    bool operator!=(const RuleBasedTimeZone& that) const {return !operator==(that);}
 
     /**
      * Adds the `TimeZoneRule` which represents time transitions.
diff -ur icu.org/source/i18n/unicode/simpletz.h icu/source/i18n/unicode/simpletz.h
--- icu.org/source/i18n/unicode/simpletz.h	2022-10-19 02:53:21.000000000 +0200
+++ icu/source/i18n/unicode/simpletz.h	2022-10-24 22:20:10.890969183 +0200
@@ -112,6 +112,7 @@
      * @stable ICU 2.0
      */
     virtual bool operator==(const TimeZone& that) const override;
+    bool operator!=(const SimpleTimeZone& that) const {return !operator==(that);}
 
     /**
      * Constructs a SimpleTimeZone with the given raw GMT offset and time zone ID,
diff -ur icu.org/source/i18n/unicode/smpdtfmt.h icu/source/i18n/unicode/smpdtfmt.h
--- icu.org/source/i18n/unicode/smpdtfmt.h	2022-10-19 02:53:21.000000000 +0200
+++ icu/source/i18n/unicode/smpdtfmt.h	2022-10-24 22:20:10.891969181 +0200
@@ -877,6 +877,7 @@
      * @stable ICU 2.0
      */
     virtual bool operator==(const Format& other) const override;
+    bool operator!=(const SimpleDateFormat& that) const {return !operator==(that);}
 
 
     using DateFormat::format;
diff -ur icu.org/source/i18n/unicode/stsearch.h icu/source/i18n/unicode/stsearch.h
--- icu.org/source/i18n/unicode/stsearch.h	2022-10-19 02:53:21.000000000 +0200
+++ icu/source/i18n/unicode/stsearch.h	2022-10-24 22:20:10.892969178 +0200
@@ -298,6 +298,7 @@
      * @stable ICU 2.0
      */
     virtual bool operator==(const SearchIterator &that) const override;
+    bool operator!=(const StringSearch &that) const {return !operator==(that);}
 
     // public get and set methods ----------------------------------------
 
diff -ur icu.org/source/i18n/unicode/tzrule.h icu/source/i18n/unicode/tzrule.h
--- icu.org/source/i18n/unicode/tzrule.h	2022-10-19 02:53:21.000000000 +0200
+++ icu/source/i18n/unicode/tzrule.h	2022-10-24 22:30:23.298744116 +0200
@@ -257,6 +257,7 @@
      * @stable ICU 3.8
      */
     virtual bool operator!=(const TimeZoneRule& that) const override;
+    bool operator!=(const InitialTimeZoneRule& that) const {return !operator==(that);}
 
     /**
      * Returns if this rule represents the same rule and offsets as another.
@@ -454,6 +455,7 @@
      * @stable ICU 3.8
      */
     virtual bool operator!=(const TimeZoneRule& that) const override;
+    bool operator!=(const AnnualTimeZoneRule& that) const {return !operator==(that);}
 
     /**
      * Gets the start date/time rule used by this rule.
@@ -670,6 +672,7 @@
      * @stable ICU 3.8
      */
     virtual bool operator!=(const TimeZoneRule& that) const override;
+    bool operator!=(const TimeArrayTimeZoneRule& that) const {return !operator==(that);}
 
     /**
      * Gets the time type of the start times used by this rule.  The return value
diff -ur icu.org/source/i18n/unicode/vtzone.h icu/source/i18n/unicode/vtzone.h
--- icu.org/source/i18n/unicode/vtzone.h	2022-10-19 02:53:21.000000000 +0200
+++ icu/source/i18n/unicode/vtzone.h	2022-10-24 22:20:10.895969172 +0200
@@ -83,6 +83,7 @@
      * @stable ICU 3.8
      */
     virtual bool operator!=(const TimeZone& that) const;
+    bool operator!=(const VTimeZone& that) const {return !operator==(that);}
 
     /**
      * Create a <code>VTimeZone</code> instance by the time zone ID.