когда я получил исключение нулевого указателя в методе String.length (который находится в методе StringBuilder.append()),
точная позиция исключения нулевого указателя находится здесь, в строке jdk,
Код: Выделить всё
public int length() {
return value.length; //line 623
}
Код: Выделить всё
public AbstractStringBuilder append(String str) {
if (str == null)
return appendNull();
int len = str.length(); //here line 447
ensureCapacityInternal(count + len);
str.getChars(0, len, value, count);
count += len;
return this;
}
И, возможно, из-за по той же причине, когда я пытался напечатать содержимое строки, произошел сбой, поэтому я не могу понять, какое содержимое строки вызвало это.
Теперь я хочу знать, что может вызвать это, могу ли я создать строковое содержимое, чтобы воспроизвести это? Спасибо за любые идеи.
stacktrace
Код: Выделить всё
java.lang.NullPointerException
at java.lang.String.length(String.java:623)
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:447)
at java.lang.StringBuilder.append(StringBuilder.java:141)
at ....toString(....java:14) //a toString method of some class
at java.lang.String.valueOf(String.java:2994)
at java.lang.StringBuilder.append(StringBuilder.java:136)
at java.util.AbstractCollection.toString(AbstractCollection.java:462)
at java.lang.String.valueOf(String.java:2994)
at java.lang.StringBuilder.append(StringBuilder.java:136)
at com
версия Java "1.8.0_102" Java(TM) SE Среда выполнения (сборка
1.8.0_102-b14) Java HotSpot(TM) 64-разрядная серверная виртуальная машина (сборка 25.102-b14, смешанный режим)
и
openjdk версии "1.8.0_345" Среда выполнения OpenJDK
(Темурин) (сборка 1.8.0_345-b01) OpenJDK 64-разрядная версия Серверная ВМ
(Темурин)(сборка 25.345-b01, смешанный режим)
Подробнее здесь: https://stackoverflow.com/questions/787 ... pointer-ex