StringBuilder сокращает количество выделений и присвоений по стоимости используемой дополнительной памяти. Используемый правильно, это может полностью устранить необходимость компилятора для выделения больших и больших строк много раз, пока результат не найден.
string result = "";
for(int i = 0; i != N; ++i)
{
result = result + i.ToString(); // allocates a new string, then assigns it to result, which gets repeated N times
}
по сравнению с
String result;
StringBuilder sb = new StringBuilder(10000); // create a buffer of 10k
for(int i = 0; i != N; ++i)
{
sb.Append(i.ToString()); // fill the buffer, resizing if it overflows the buffer
}
result = sb.ToString(); // assigns once
ОШИБКА UnexpectedTypeException: если мы пытаемся использовать неправильный, в спящем режиме аннотация блока проверки допустимости на любое свойство компонента. Имел ту же проблему для моего проекта Springboot (проверяющий тип 'java.lang. Целое число'), попробовал @NotNull за Целое число, Работавшее для меня