概要 String#split() に空文字列 "" を渡して、文字列を 1 文字毎ごとの部分文字列に分解、みたいな手抜き実装をよくやるのですが、Java 7 (以前?) と Java 8 でこの挙動が異なるみたいです。 Java 7 では、以下のサンプルにあるとおり、戻り値の配列の一番最初の要素が空文字列になるのですが、Java 8 ではこの空文字列がなくなるようです。 デモコード import java.util.Arrays; import java.util.regex.Pattern; public class StringSplit { public static void main(String[] args) { String str = "ABC"; // String#split() を試してみる String[] elems = str.split(""); Syst