Я думаю, что вы пытаетесь использовать 'msg' в качестве ключа для 'Post слишком большой', и если это так, то это должен быть ассоциативный массив.
->withErrors(['msg' => 'Post is too large'])
Но даже с вашим кодом должно отображаться сообщение об ошибке «msg» и «Post is too large» в вашем элементе ul. Таким образом, у вас будет 2 элемента списка в этом контейнере. Не видеть ничего технически неправильного в том, чем вы поделились, где вы не увидите ошибок при перенаправлении.
final
в этом контексте означает, что переменная name
может быть назначена только один раз. Присвоение ему другого объекта String
снова приводит к ошибке компиляции.
Я думаю, что причиной путаницы здесь является то, что ключевое слово final
может использоваться в нескольких различных контекстах:
См. Статью в Википедии о final в Java для примеров для каждого случая.
Прежде чем вы начнете рассматривать проблему с технической точки зрения, вы должны оценить, насколько критично приложение для вашего бизнеса. Похоже, у вас есть работающее приложение. Если он обеспечивает согласованное поведение и вам не нужны обновления / новые разработки, вы можете оставить его в покое. Мы, разработчики программного обеспечения, любим жаловаться на чужой код, переписывать чужие работы «элегантными» решениями. Это деньги.
Однако у вас есть вложения, которые могут нуждаться в обслуживании, и когда у вас есть базовый код и база данных в dis-array, вы понесете дополнительные расходы, потому что приложение не поддается модификации. Вы захотите почувствовать, сколько изменений вам нужно поддержать. Учитывая, что он находится в производстве 15 лет, у вас был хороший пробег, так что у вас нет особого риска.
Переписывание будет стоить вам, потому что вам нужно воссоздать то, что делает приложение, и поскольку вспомогательная база данных и программа кажутся "ненормализованными" и неструктурированными , это потребует больших усилий. Наличие чистой модели базы данных дает преимущества, так как будет проще составлять отчеты, экспортировать в Excel и т. Д. И если вы захотите изменить ее, разработчикам будет легче понять, что им делать.
Чтобы тратить деньги Чтобы получить то, что у вас уже есть, необходимо попросить фирму подробно описать, какие дополнительные преимущества вы получите. Являются ли эти преимущества сверх того, что вы получаете сегодня, и выполнит ли эта фирма свои обещания? Будет ли ваша компания лучше, если база данных будет "нормализованной" но вы не получаете никакой другой выгоды, кроме того, что дает вам текущее приложение? Помните об этом, прежде чем переходить на новую платформу.
потому что вы можете прочитать его в два раза и получить разные значения.Как это часто бывает, строковые объекты Java также неизменяемы. Это означает, что вы не можете изменять значение, которое представляет конкретный объект String. Сравните это с массивом - вы можете заменить первый элемент объекта массива другим объектом, но вы не можете заменить первый символ объекта String другим символом. Вот почему String.replace () возвращает новую строку - она не может изменить старую.
Одной из причин, по которой String является final, является предотвращение передачи экземпляра подкласса String, который реализует изменяемое поведение, в место строки.
Но можете ли вы изменить конкретный объект и можете ли вы назначить другой объект переменной - это совершенно разные понятия. Один - свойство объектов String,
Вы путаете неизменяемый с final.
String, как Integer и Long, является неизменяемым классом в том смысле, что внутренние данные защищены от модификации посредством инкапсуляции.
Однако, как сказал Айман, final относится к указателю на строку.
Помните, что ключевое слово Java final в этом случае служит двум целям:
Взгляните на Последнее слово по последнему ключевому слову .
String name = "scott";
name = "tiger"; // OK
final String gender = "male";
gender = "female"; // won't compile you cannot reassign gender cause it's final