2010-01-14 3 views
4

Кто-нибудь знает о хороших общих рамок для Java, который имеет общие, но утомительные вспомогательные методы, которые делают такие вещи, как ...Современная структура Java Обще

ObjectUtil.equalsOrBothNull(obj1,obj2) 

FormatUtil.formatName(String firstName String middleName, String lastName) 

AddressUtil.formatAddress(address) 

и т.д ...

Похоже Я всегда заканчиваю повторное внедрение этих классов. Гуава-библиотеки - это самое близкое, что я нашел.

http://code.google.com/p/guava-libraries/

+3

FORMATNAME() и formatAddress() будет весьма зависимыми от локали, даже подпись. Во многих культурах отсутствует дифференциация firstName/lastName, или есть имя firstName/familyName/lastName или firstName/generationName/lastName или ... и все эти варианты обычно имеют нетривиальные правила о том, как их записать. И как только вы начнете добавлять заголовки, тогда это будет очень сложно. В целом это, вероятно, стоило бы библиотеки в своем собственном праве. –

ответ

6

Commons Lang имеет много утилит, которые могут оказаться полезными. Я использую эту библиотеку в большинстве своих проектов. This page имеет базовый обзор различных классов. StringUtils - это тот, который я использую больше всего, но многие из других были полезны один или два раза. ObjectUtils имеет нулевой метод equals, который вы ищете.

+3

+1 для Commons Lang (и Commons IO). ОП попросил «современную» библиотеку, я полагаю, это означает поддержку дженериков и аннотаций. Не проблема для Commons Lang (не там, но не нужна), но Commons Collections становится немного пыльной без дженериков. – Thilo

+2

@Thilo: Существует общий порт коллекций Commons по адресу http://larvalabs.com/collections/ – skaffman

+2

Следующие версии почти всех компонентов сообщества будут обобщены, так что вы знаете –