Apache Commons logo Commons Lang

Commons Lang

The standard Java libraries fail to provide enough methods for manipulation of its core classes. Apache Commons Lang provides these extra methods.

Lang provides a host of helper utilities for the java.lang API, notably String manipulation methods, basic numerical methods, object reflection, concurrency, creation and serialization and System properties. Additionally it contains basic enhancements to java.util.Date and a series of utilities dedicated to help with building methods, such as hashCode, toString and equals.

Note that Lang 3.0 (and subsequent versions) use a different package (org.apache.commons.lang3) than the previous versions (org.apache.commons.lang), allowing it to be used at the same time as an earlier version.

Documentation

The package descriptions in the JavaDoc give an overview of the available features and various project reports are provided.

The JavaDoc API documents are available online:

The subversion repository can be browsed, or you can browse/contribute via GitHub.

The code base is monitored by a Sonar instance running on analysis.apache.org.

Release Information

The latest stable release of Lang is 3.3.2. You may:

Special note on 3.3.2 and Java 8: Due to the addition of DocLint to the JavaDoc tool mvn site will currently fail because the test code contains malformed JavaDoc comments. If you want to build the site yourself use Java 6 or Java 7 or deactivate DocLint by configuring the Maven JavaDoc with <additionalparam>-Xdoclint:none</additionalparam>.

Alternatively you can pull it from the central Maven repositories:

  <groupId>org.apache.commons</groupId>
  <artifactId>commons-lang3</artifactId>
  <version>3.3.2</version>

For information on previous releases see the Release History, and to download previous releases see the Commons Lang Archive.

Getting Involved

The commons developer mailing list is the main channel of communication for contributors. Please remember that the lists are shared between all commons components, so prefix your email by [lang].

You can also visit the #apache-commons IRC channel on irc.freenode.net or peruse JIRA. Specific links of interest for JIRA are:

If you'd like to offer up pull requests via GitHub rather than applying patches to JIRA, we have a GitHub mirror.

Support

The commons mailing lists act as the main support forum. The user list is suitable for most library usage queries. The dev list is intended for the development discussion. Please remember that the lists are shared between all commons components, so prefix your email by [lang].

Bug reports and enhancements are also welcomed via the JIRA issue tracker. Please read the instructions carefully.