### Question:
EqualsHelper { @SuppressFBWarnings ({ "ES_COMPARING_PARAMETER_STRING_WITH_EQ" }) public static boolean equalsIgnoreCase (@Nullable final String sObj1, @Nullable final String sObj2) { return sObj1 == null ? sObj2 == null : sObj1.equalsIgnoreCase (sObj2); } private  EqualsHelper(); static boolean identityEqual(@Nullable final T aObj1, @Nullable final T aObj2); static boolean equals(final boolean aObj1, final boolean aObj2); static boolean equals(final byte aObj1, final byte aObj2); static boolean equals(final char aObj1, final char aObj2); static boolean equals(final double aObj1, final double aObj2); static boolean equals(final float aObj1, final float aObj2); static boolean equals(final int aObj1, final int aObj2); static boolean equals(final long aObj1, final long aObj2); static boolean equals(final short aObj1, final short aObj2); static boolean equals(@Nullable final Object aObj1, @Nullable final Object aObj2); @SuppressFBWarnings ({ "ES_COMPARING_PARAMETER_STRING_WITH_EQ" }) static boolean equalsIgnoreCase(@Nullable final String sObj1, @Nullable final String sObj2); static boolean equalsCollectionOnly(@Nonnull final Collection <T> aCont1, @Nonnull final Collection <?> aCont2); static boolean equalsMap(@Nonnull final Map <K, V> aCont1, @Nonnull final Map <?, ?> aCont2); static boolean equalsSet(@Nonnull final Set <T> aCont1, @Nonnull final Set <?> aCont2); static boolean equalsIterator(@Nonnull final Iterator <T> aIter1, final Iterator <?> aIter2); static boolean equalsEumeration(@Nonnull final Enumeration <T> aEnum1, final Enumeration <?> aEnum2); static boolean equalsCollection(@Nullable final Object aObj1, @Nullable final Object aObj2); static boolean equalsAsList(@Nullable final Object aObj1, @Nullable final Object aObj2); static boolean equalsCustom(@Nullable final T aObj1, @Nullable final T aObj2, @Nonnull final BiPredicate <T, T> aPredicate);  }### Answer:
@Test public void testNullSafeEquals () throws MalformedURLException { _test ("s1", "s2"); _test (StringParser.parseBigDecimal ("12562136756"), StringParser.parseBigDecimal ("67673455")); _test (Double.valueOf (3.1234d), Double.valueOf (23.456d)); _test (Float.valueOf (3.1234f), Float.valueOf (23.456f)); _test (new URL ("http: _test (new boolean [] { true }, new boolean [] { false }); _test (new byte [] { 1 }, new byte [] { 2 }); _test (new char [] { 'a' }, new char [] { 'b' }); _test (new double [] { 2.1 }, new double [] { 2 }); _test (new float [] { 2.1f }, new float [] { 1.9f }); _test (new int [] { 5 }, new int [] { 6 }); _test (new long [] { 7 }, new long [] { 8 }); _test (new short [] { -9 }, new short [] { -10 }); final String s1 = "s1"; final String s2 = "S1"; assertTrue (EqualsHelper.equalsIgnoreCase (s1, s1)); assertTrue (EqualsHelper.equalsIgnoreCase (s1, s2)); assertTrue (EqualsHelper.equalsIgnoreCase (s2, s1)); assertFalse (EqualsHelper.equalsIgnoreCase (s1, null)); assertFalse (EqualsHelper.equalsIgnoreCase (null, s2)); assertTrue (EqualsHelper.equalsIgnoreCase (null, null)); }