Code Review Request: 7160242: (prefs) Preferences.remove(null) does not throw NPE [macosx] (original) (raw)

Kurchi Hazra kurchi.subhra.hazra at oracle.com
Tue Apr 24 22:20:27 UTC 2012


Thanks Remi. I changed it: http://cr.openjdk.java.net/~khazra/7160242/webrev.02/

Can you also point out what advantage using Object.requireNonNull has over simply doing a key == null check as I was doing before?

Thanks, Kurchi

On 4/24/2012 3:07 PM, Rémi Forax wrote: > On 04/24/2012 11:49 PM, Kurchi Hazra wrote: >> Hi, >>>> Updated webrev: >> http://cr.openjdk.java.net/~khazra/7160242/webrev.01/ >>>> Thanks, >> Kurchi >> Hi Kurchi, > Object.requireNonNull() return the first argument, > so there is no need to store it again in key. > So instead of >> key = Objects.requireNonNull(key, "Specified key cannot be null"); >> you can just write: >> Objects.requireNonNull(key, "Specified key cannot be null"); >> or if you want to reuse the return value (it's less readable in my > opinion) > you can write : >> file.removeKeyFromNode(path, > Objects.requireNonNull(key, "Specified key cannot be null")); >> but usually, this feature is used in constructor, > something like this : >> class Person { > ... > public Person(String name) { > this.name = Objects.requireNonNull(name); > } > } >> cheers, > Rémi >>>>> On 4/21/2012 4:23 AM, Rémi Forax wrote: >>> On 04/21/2012 09:52 AM, Alan Bateman wrote: >>>> On 20/04/2012 20:09, Kurchi Subhra Hazra wrote: >>>>> Hi, >>>>>>>>>> This change inserts a null check for the key being passed to >>>>> Preferences.remove() on Mac, so that >>>>> the method throws a NullPointerException when key is null >>>>> (according to its specification). >>>>>>>>>> Bug: http://bugs.sun.com/bugdatabase/viewbug.do?bugid=7160242 >>>>> Webrev: http://cr.openjdk.java.net/~khazra/7160242/webrev.00/ >>>>> Thanks, Kurchi >>>> Kurchi - would you be able to add a test to test/java/util/prefs so >>>> that we have coverage for this case? >>>>>>>> -Alan. >>>>>> Also you can use Objects.requireNonNull() >>> http://docs.oracle.com/javase/7/docs/api/java/util/Objects.html#requireNonNull%28T,%20java.lang.String%29 >>>>>>>>> Rémi >>>>>>

-Kurchi



More information about the core-libs-dev mailing list