Comments 16
"Logon{" + "login='" + login + '\'' + ", password='" + password + '\'' + '}';
как бы такое не красиво использовать, когда есть String.format
Есть подозрение, что это сгенерировано IDE.
Почему? Вроде такое читается легче, работает быстрее и вероятность ошибки ниже.
Вроде такое читается легчея бы так не сказал
работает быстрееЕсли только компилятор преобразует в .append (строковые операции самые медленные в java)
вероятность ошибки ниже.ваш код:
String dd= "Logon{" +
"login='" + login + '\'' +
", password='" + password + '\'' +
'}';
System.out.println(dd);
вывелLogon{login='login', password='password'}
хотя у вас есть ошибки…
грамотнее написать так
String dd= "Logon{" +
"login='" + login +
"', password='" + password +
"'}";
ну и
String.format("Logon{login='%s', password='%s'}",login,password);
Почему этот код стал моим?
Вы понимаете что если в паттерне формата ошибетесь, или тип переменной не тот будет, то ошибку получите не на момент компиляции а на момент исполнения? При определенной удаче вы не отловите ее на момент отладки и тестирования…
Вы понимаете что если в паттерне формата ошибетесь, или тип переменной не тот будет, то ошибку получите не на момент компиляции а на момент исполнения? При определенной удаче вы не отловите ее на момент отладки и тестирования…
хотя у вас есть ошибки…Какая ошибка, какая грамота? Мы все еще о программировании говорим?
грамотнее написать так
Почему этот код стал моим?каюсь не посмотрел на автора..
.Какая ошибка, какая грамота? Мы все еще о программировании говорим?
"login='" + login + '\'' +
", password='" + password + '\'' +
посмотрите внимательно — использование ограничителей строк — и двойные и одинарные кавычки. Отсюда и необходимость экранирования…
Вы понимаете что если в паттерне формата ошибетесь, или тип переменной не тот будет, то ошибку получите не на момент компиляции а на момент исполнения?пользуйтесь нормальным ide и ошибка будет на момент написания кода.
%s any type String value
Так в чем ошибка-то? Кавычку не так поставили?
Idea уже ненормальная ide? Чем она мне поможет в кейсах ниже? Срочно на эклипс переходить?
Idea уже ненормальная ide? Чем она мне поможет в кейсах ниже? Срочно на эклипс переходить?
Сериализация через Serializable использует рефлексию, что не всегда хорошо, например под Андроид. Parcelable в статье не хватает для сравнения :)
А можете подробнее объяснить, чем рефлексия под Андроидом будет плоха?
Как минимум — рефлексия работает медленно, для андроид устройств, как известно, производительность критична.
Ну и второй момент, в случае обфускации кода, весь reflection, а значит и Serializable перестает работать.
Что касается Externalizable, он работает не через рефлексию, поэтому лишен этих недостатков, но все-таки проигрывает по производительности Parcelable.
Ну и второй момент, в случае обфускации кода, весь reflection, а значит и Serializable перестает работать.
Что касается Externalizable, он работает не через рефлексию, поэтому лишен этих недостатков, но все-таки проигрывает по производительности Parcelable.
Очень даже неплохая статья кстати
Externalizable нужен, если предполагается ручной вызов методов сериализациии. А чтобы иметь возможность вручную управлять сериализацией/десериализацией достаточно создать приватные методы readObject(ObjectInputStream)/writeObject(ObjectOutputStream) в Serializable-объекте.
Sign up to leave a comment.
Сериализация в Java. Не все так просто