Memisahkan string kosong dengan String.split () mengembalikan larik elemen tunggal yang berisi string kosong . Dalam kebanyakan kasus Anda mungkin lebih suka mendapatkan array kosong, atau null jika Anda mengirimkan null, yang persis seperti yang Anda dapatkan dengan org.apache.commons.lang3.StringUtils.split (str) .
import org.apache.commons.lang3.StringUtils;
StringUtils.split(null) => null
StringUtils.split("") => []
StringUtils.split("abc def") => ["abc", "def"]
StringUtils.split("abc def") => ["abc", "def"]
StringUtils.split(" abc ") => ["abc"]
Pilihan lain adalah google guava Splitter.split () dan Splitter.splitToList () yang mengembalikan iterator dan daftar yang sesuai. Berbeda dengan versi apache, Splitter akan melempar NPE ke null
:
import com.google.common.base.Splitter;
Splitter SPLITTER = Splitter.on(',').trimResults().omitEmptyStrings();
SPLITTER.split("a,b, c , , ,, ") => [a, b, c]
SPLITTER.split("") => []
SPLITTER.split(" ") => []
SPLITTER.split(null) => NullPointerException
Jika Anda menginginkan daftar daripada iterator, gunakan Splitter.splitToList () .
String[] ary = new String[] { "name" };
, operasi apa yang Anda butuhkan? membelah karakter misalnya?