Is it possible for split
to return a null String[]
? I am curious as I want to try to be as defensive as possible in my code without having unnecessary checks. The code is as follows:
String[] parts = myString.split("\\w");
do I need to perform a null check before I use parts
post splitting?
If the delimiter is an empty string, the split() method will return an array of elements, one element for each character of string. If you specify an empty string for string, the split() method will return an empty string and not an array of strings.
split() The method split() splits a String into multiple Strings given the delimiter that separates them. The returned object is an array which contains the split Strings.
In Java, a null value can be assigned to an object reference of any type to indicate that it points to nothing. The compiler assigns null to any uninitialized static and instance members of reference type. In the absence of a constructor, the getArticles() and getName() methods will return a null reference.
Using split() When the string is empty and no separator is specified, split() returns an array containing one empty string, rather than an empty array. If the string and separator are both empty strings, an empty array is returned.
It never returns null. You should always check the javadoc of the method if you are not sure. For example String#split(String)
says
This method works as if by invoking the two-argument
split
method
...and String#split(String,int)
says:
If the expression does not match any part of the input then the resulting array has just one element, namely this string.
From Javadoc you can also find out what kind of exceptions can happen and more importantly why were those exceptions thrown. Also one very important thing to check is if the classes are thread safe or not.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With