Ошибка в com.google.common.base.Joiner.on()
java.lang.NullPointerException: null
at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:770) ~[spigot-1.12.2.jar:git-Spigot-c3093ef-7e94e65]
at com.google.common.base.Joiner.toString(Joiner.java:454) ~[spigot-1.12.2.jar:git-Spigot-c3093ef-7e94e65]
at com.google.common.base.Joiner.appendTo(Joiner.java:106) ~[spigot-1.12.2.jar:git-Spigot-c3093ef-7e94e65]
at com.google.common.base.Joiner.appendTo(Joiner.java:154) ~[spigot-1.12.2.jar:git-Spigot-c3093ef-7e94e65]
at com.google.common.base.Joiner.join(Joiner.java:197) ~[spigot-1.12.2.jar:git-Spigot-c3093ef-7e94e65]
at com.google.common.base.Joiner.join(Joiner.java:187) ~[spigot-1.12.2.jar:git-Spigot-c3093ef-7e94e65]
at com.google.common.base.Joiner.join(Joiner.java:205) ~[spigot-1.12.2.jar:git-Spigot-c3093ef-7e94e65]
Код:
public static String join(String[] args, int ignored, String separator) {
if (ignored > -1)
args = (String[]) ArrayUtils.remove(args, ignored);
String combined = Joiner.on(separator).join(args); // ERROR HERE
return combined.substring(0, combined.length());
}
Я пытаюсь выполнить объединение массива строк с разделителем и возможность игнорировать аргумент при желании. Однако я сталкиваюсь с этой ошибкой, которой не было около недели назад. Этот код работал отлично.... теперь его нет. Я попытался вставить нулевую проверку для переменной "args", но безрезультатно. Что-то изменилось с пакетом, из которого я тяну?
1 ответ
Я не думаю, что переменная args является нулевой, скорее она содержит нулевое значение. Joiner по умолчанию в Guava является враждебным по отношению к null, но его можно настроить так, чтобы допускать null одним из двух способов:
Joiner.on(separator).
skipNulls()
Joiner.on(separator).
useForNull(placeHolder)
если вы не используете ни один из них, нулевое значение внутри вашего массива вызовет исключение NullPointerException, которое явно упоминается в Joiner
документы:
Если ни
skipNulls()
ниuseForNull(String)
указано, методы соединенияNullPointerException
если какой-либо элементnull
,