Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6889858

Add nonNull methods to java.util.Objects

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Fixed
    • Icon: P3 P3
    • 7
    • 7
    • core-libs
    • None
    • b75
    • generic
    • generic

      From Josh on ###@###.###
      (http://mail.openjdk.java.net/pipermail/core-libs-dev/2009-October/002891.html)

      I strongly suggest that you do add these two methods:

          /**
           * Checks that the specified object reference is not {@code null}. This
           * method is designed primarily for doing parameter validation in methods
           * and constructors, as demonstrated below:
           * <pre>
           * public Foo(Bar bar) {
           * this.bar = Objects.nonNull(bar);
           * }
           * </pre>
           *
           * @param obj the object reference to check for nullity
           * @return {@code obj} if not {@code null}
           * @throws NullPointerException if {@code obj} is {@code null}
           */
          public static <T> T nonNull(T obj) {
              if (obj == null)
                  throw new NullPointerException();
              return obj;
          }

          /**
           * Checks that the specified object reference is not {@code null} and
           * throws a customized {@Link NullPointerException} if it is. This method
           * is designed primarily for doing parameter validation in methods and
           * constructors with multiple parameters, as demonstrated below:
           * <pre>
           * public Foo(Bar bar, Baz baz) {
           * this.bar = Objects.nonNull(bar, "bar must not be null");
           * this.baz = Objects.nonNull(baz, "baz must not be null");
           * }
           * </pre>
           *
           * @param obj the object reference to check for nullity
           * @param message detail message to be used in the event that a {@code
           * NullPointerException} is thrown
           * @return {@code obj} if not {@code null}
           * @throws NullPointerException if {@code obj} is {@code null}
           */
          public static <T> T nonNull(T obj, String message) {
              if (obj == null)
                  throw new NullPointerException(message);
              return obj;
          }

      They do a great job reducing the verbiage in validity-checking of arguments that must not be null.

            darcy Joe Darcy
            darcy Joe Darcy
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: