java.lang.String 和 java.util.regex.Pattern 拆分方法的行为更改

此规则针对每个文件标记一次 java.util.regex.Pattern.splitjava.lang.String.split 方法的所有使用。

在 Java 8 中,如果输入序列的起始位置存在正宽度匹配,那么将在生成的数组的起始位置包含空的前置子字符串。但是,起始位置的零宽度匹配从不生成此类空的前置子字符串。

例如,在调用以下方法时:"abc".split("");
在 Java 7 中,方法返回以下数组:["", "a", "b", "c"]
而在 Java 8 中,方法返回以下数组:["a", "b", "c"]

请检查应用程序并确保应用程序不依赖于拆分方法先前返回的空字符串。

有关其他信息,请参阅以下类的 Java 文档: