Требуются ли для Джексона без аннотаций сеттеры?

Я использую Jackson 1.6.4 и Java JDK 6.

Я не хочу использовать аннотации Jackson; Я хочу иметь неизменяемые объекты Java без сеттеров.

Два требования противоречат друг другу.

Если я добавлю частные сеттеры, десериализация будет работать нормально.

Я пытаюсь не прибегать к частным сеттерам для своих неизменяемых объектов - я в этом отношении упрям.

Я пытаюсь использовать пользовательские настройки. реализация VisibilityChecker, чтобы разрешить доступ к ЛЮБОМУ полю. Они приводят к более читаемому коду. Это '...

Мне очень понравилось использовать перечисления C # и Java в моем коде по нескольким причинам:

  • Они гораздо более безопасны по типу, чем целые числа, строки или наборы логических флагов.
  • Они приводят к более удобочитаемому коду.
  • Сложнее установить недопустимое значение для перечисления, чем для int или строки.
  • Они позволяют легко обнаружить допустимые значения для переменной или параметра.
  • Все, что угодно. Я читал, что они работают так же хорошо, как целые числа в C # и большинстве JVM.

Однако в платформе Android есть множество случаев, когда необходимо передавать флаги различных типов, но ни один из них, похоже, не использует перечисления. Вот несколько примеров, в которых их использование было бы полезным: Toast.LENGTH_SHORT / Toast.LENGTH_LONG и View.GONE , View. ВИДИМЫЙ и т. Д.

Почему это? Перечисления работают хуже, чем простые целочисленные значения в Dalvik? Есть ли какой-нибудь другой недостаток, о котором я не знаю?

78
задан jnylen 27 January 2011 в 22:49
поделиться