Tách một chuỗi rỗng bằng String.split () trả về một mảng phần tử đơn chứa một chuỗi rỗng . Trong hầu hết các trường hợp, bạn có thể thích nhận một mảng trống hoặc null nếu bạn chuyển vào một giá trị rỗng, đó chính xác là những gì bạn nhận được với 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"]
Một tùy chọn khác là Google ổi Splitter.split () và Splitter.splitToList () trả về một trình lặp và một danh sách tương ứng. Không giống như phiên bản apache, Splitter sẽ ném một NPE vào 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
Nếu bạn muốn có một danh sách hơn là một trình lặp thì hãy sử dụng Splitter.splitToList () .
String[] ary = new String[] { "name" };
, bạn cần thao tác gì? tách trong các ký tự chẳng hạn?