Author: niallp
Date: Mon Jan 10 23:10:16 2011
New Revision: 1057410

URL: http://svn.apache.org/viewvc?rev=1057410&view=rev
Log:
LANG-670 Add notEqual() method to ObjectUtils

Modified:
    
commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/ObjectUtils.java
    
commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/ObjectUtilsTest.java

Modified: 
commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/ObjectUtils.java
URL: 
http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/ObjectUtils.java?rev=1057410&r1=1057409&r2=1057410&view=diff
==============================================================================
--- 
commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/ObjectUtils.java
 (original)
+++ 
commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/ObjectUtils.java
 Mon Jan 10 23:10:16 2011
@@ -159,6 +159,29 @@ public class ObjectUtils {
     }
 
     /**
+     * <p>Compares two objects for inequality, where either one or both
+     * objects may be <code>null</code>.</p>
+     *
+     * <pre>
+     * ObjectUtils.notEqual(null, null)                  = false
+     * ObjectUtils.notEqual(null, "")                    = true
+     * ObjectUtils.notEqual("", null)                    = true
+     * ObjectUtils.notEqual("", "")                      = false
+     * ObjectUtils.notEqual(Boolean.TRUE, null)          = true
+     * ObjectUtils.notEqual(Boolean.TRUE, "true")        = true
+     * ObjectUtils.notEqual(Boolean.TRUE, Boolean.TRUE)  = false
+     * ObjectUtils.notEqual(Boolean.TRUE, Boolean.FALSE) = true
+     * </pre>
+     *
+     * @param object1  the first object, may be <code>null</code>
+     * @param object2  the second object, may be <code>null</code>
+     * @return <code>false</code> if the values of both objects are the same
+     */
+    public static boolean notEqual(Object object1, Object object2) {
+        return ObjectUtils.equals(object1, object2) == false;
+    }
+
+    /**
      * <p>Gets the hash code of an object returning zero when the
      * object is <code>null</code>.</p>
      *

Modified: 
commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/ObjectUtilsTest.java
URL: 
http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/ObjectUtilsTest.java?rev=1057410&r1=1057409&r2=1057410&view=diff
==============================================================================
--- 
commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/ObjectUtilsTest.java
 (original)
+++ 
commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/ObjectUtilsTest.java
 Mon Jan 10 23:10:16 2011
@@ -88,6 +88,14 @@ public class ObjectUtilsTest extends Tes
         assertTrue("ObjectUtils.equals(\"foo\", \"foo\") returned false", 
ObjectUtils.equals(FOO, FOO));
     }
 
+    public void testNotEqual() {
+        assertFalse("ObjectUtils.notEqual(null, null) returned false", 
ObjectUtils.notEqual(null, null));
+        assertTrue("ObjectUtils.notEqual(\"foo\", null) returned true", 
ObjectUtils.notEqual(FOO, null));
+        assertTrue("ObjectUtils.notEqual(null, \"bar\") returned true", 
ObjectUtils.notEqual(null, BAR));
+        assertTrue("ObjectUtils.notEqual(\"foo\", \"bar\") returned true", 
ObjectUtils.notEqual(FOO, BAR));
+        assertFalse("ObjectUtils.notEqual(\"foo\", \"foo\") returned false", 
ObjectUtils.notEqual(FOO, FOO));
+    }
+
     public void testHashCode() {
         assertEquals(0, ObjectUtils.hashCode(null));
         assertEquals("a".hashCode(), ObjectUtils.hashCode("a"));


Reply via email to