# Deprecated API

## Contents

- Packages
- Interfaces
- Classes
- Fields
- Methods
- Enum Constants

Packages
org.apache.commons.lang3.text.translate: as of 3.6, use the commons-text translate package instead

Interfaces
org.apache.commons.lang3.Functions.FailableBiConsumer: Use `FailableBiConsumer`.
org.apache.commons.lang3.Functions.FailableBiFunction: Use `FailableBiFunction`.
org.apache.commons.lang3.Functions.FailableBiPredicate: Use `FailableBiPredicate`.
org.apache.commons.lang3.Functions.FailableCallable: Use `FailableCallable`.
org.apache.commons.lang3.Functions.FailableConsumer: Use `FailableConsumer`.
org.apache.commons.lang3.Functions.FailableFunction: Use `FailableFunction`.
org.apache.commons.lang3.Functions.FailablePredicate: Use `FailablePredicate`.
org.apache.commons.lang3.Functions.FailableRunnable: Use `FailableRunnable`.
org.apache.commons.lang3.Functions.FailableSupplier: Use `FailableSupplier`.
org.apache.commons.lang3.text.FormatFactory: as of 3.6, use commons-text FormatFactory instead

Classes
org.apache.commons.lang3.CharEncoding: Java 7 introduced `StandardCharsets`, which defines these constants as `Charset` objects. Use `Charset.name()` to get the string values provided in this class. This class will be removed in a future release.
org.apache.commons.lang3.Functions: Use `Failable`.
org.apache.commons.lang3.Streams: Use `Streams`.
org.apache.commons.lang3.Streams.ArrayCollector: Use `Streams.ArrayCollector`.
org.apache.commons.lang3.Streams.FailableStream: Use `Streams.FailableStream`.
org.apache.commons.lang3.StringEscapeUtils: as of 3.6, use commons-text StringEscapeUtils instead
org.apache.commons.lang3.text.CompositeFormat: as of 3.6, use commons-text CompositeFormat instead
org.apache.commons.lang3.text.ExtendedMessageFormat: as of 3.6, use commons-text ExtendedMessageFormat instead
org.apache.commons.lang3.text.FormattableUtils: as of 3.6, use commons-text FormattableUtils instead
org.apache.commons.lang3.text.StrBuilder: as of 3.6, use commons-text TextStringBuilder instead
org.apache.commons.lang3.text.StrLookup: as of 3.6, use commons-text StringLookupFactory instead
org.apache.commons.lang3.text.StrMatcher: as of 3.6, use commons-text StringMatcherFactory instead
org.apache.commons.lang3.text.StrSubstitutor: as of 3.6, use commons-text StringSubstitutor instead
org.apache.commons.lang3.text.StrTokenizer: as of 3.6, use commons-text StringTokenizer instead
org.apache.commons.lang3.text.translate.AggregateTranslator: as of 3.6, use commons-text AggregateTranslator instead
org.apache.commons.lang3.text.translate.CharSequenceTranslator: as of 3.6, use commons-text CharSequenceTranslator instead
org.apache.commons.lang3.text.translate.CodePointTranslator: as of 3.6, use commons-text CharSequenceTranslator instead
org.apache.commons.lang3.text.translate.EntityArrays: as of 3.6, use commons-text EntityArrays instead
org.apache.commons.lang3.text.translate.JavaUnicodeEscaper: as of 3.6, use commons-text UnicodeEscaper instead
org.apache.commons.lang3.text.translate.LookupTranslator: as of 3.6, use commons-text LookupTranslator instead
org.apache.commons.lang3.text.translate.NumericEntityEscaper: as of 3.6, use commons-text NumericEntityEscaper instead
org.apache.commons.lang3.text.translate.NumericEntityUnescaper: as of 3.6, use commons-text NumericEntityUnescaper instead
org.apache.commons.lang3.text.translate.OctalUnescaper: as of 3.6, use commons-text OctalUnescaper instead
org.apache.commons.lang3.text.translate.UnicodeEscaper: as of 3.6, use commons-text UnicodeEscaper instead
org.apache.commons.lang3.text.translate.UnicodeUnescaper: as of 3.6, use commons-text UnicodeUnescaper instead
org.apache.commons.lang3.text.translate.UnicodeUnpairedSurrogateRemover: as of 3.6, use commons-text UnicodeUnpairedSurrogateRemover instead
org.apache.commons.lang3.text.WordUtils: as of 3.6, use commons-text WordUtils instead

Fields
org.apache.commons.lang3.StringEscapeUtils.ESCAPE_XML: use `StringEscapeUtils.ESCAPE_XML10` or `StringEscapeUtils.ESCAPE_XML11` instead.
org.apache.commons.lang3.SystemUtils.FILE_SEPARATOR: Use `File.separator`, since it is guaranteed to be a string containing a single character and it does not require a privilege check.
org.apache.commons.lang3.SystemUtils.IS_JAVA_1_9: As of release 3.5, replaced by `SystemUtils.IS_JAVA_9`
org.apache.commons.lang3.SystemUtils.LINE_SEPARATOR: Use `System.lineSeparator()` instead, since it does not require a privilege check.
org.apache.commons.lang3.SystemUtils.PATH_SEPARATOR: Use `File.pathSeparator`, since it is guaranteed to be a string containing a single character and it does not require a privilege check.
org.apache.commons.lang3.time.DateFormatUtils.ISO_DATE_FORMAT: - as of 4.0, ISO_DATE_FORMAT will be replaced by ISO_8601_EXTENDED_DATE_FORMAT.
org.apache.commons.lang3.time.DateFormatUtils.ISO_DATE_TIME_ZONE_FORMAT: - as of 4.0, ISO_DATE_TIME_ZONE_FORMAT will be removed.
org.apache.commons.lang3.time.DateFormatUtils.ISO_DATETIME_FORMAT: - as of 4.0, ISO_DATETIME_FORMAT will be replaced by ISO_8601_EXTENDED_DATETIME_FORMAT.
org.apache.commons.lang3.time.DateFormatUtils.ISO_DATETIME_TIME_ZONE_FORMAT: - as of 4.0, ISO_DATETIME_TIME_ZONE_FORMAT will be replaced by ISO_8601_EXTENDED_DATETIME_TIME_ZONE_FORMAT.
org.apache.commons.lang3.time.DateFormatUtils.ISO_TIME_FORMAT: - as of 4.0, ISO_TIME_FORMAT will be removed.
org.apache.commons.lang3.time.DateFormatUtils.ISO_TIME_NO_T_FORMAT: - as of 4.0, ISO_TIME_NO_T_FORMAT will be replaced by ISO_8601_EXTENDED_TIME_FORMAT.
org.apache.commons.lang3.time.DateFormatUtils.ISO_TIME_NO_T_TIME_ZONE_FORMAT: - as of 4.0, ISO_TIME_NO_T_TIME_ZONE_FORMAT will be replaced by ISO_8601_EXTENDED_TIME_TIME_ZONE_FORMAT.
org.apache.commons.lang3.time.DateFormatUtils.ISO_TIME_TIME_ZONE_FORMAT: - as of 4.0, ISO_TIME_TIME_ZONE_FORMAT will be removed.

Methods
org.apache.commons.lang3.ArrayUtils.add​(boolean[], int, boolean): this method has been superseded by `ArrayUtils.insert(int, boolean[], boolean...)` and may be removed in a future release. Please note the handling of `null` input arrays differs in the new method: inserting `X` into a `null` array results in `null` not `X`.
org.apache.commons.lang3.ArrayUtils.isEquals​(Object, Object): this method has been replaced by `java.util.Objects.deepEquals(Object, Object)` and will be removed from future releases.
org.apache.commons.lang3.ArrayUtils.removeAllOccurences​(boolean[], boolean): Use `ArrayUtils.removeAllOccurrences(boolean[], boolean)`
org.apache.commons.lang3.CharEncoding.isSupported​(String): Please use `Charset.isSupported(String)` instead, although be aware that `null` values are not accepted by that method and an `IllegalCharsetNameException` may be thrown.
org.apache.commons.lang3.CharUtils.toCharacterObject​(char): Java 5 introduced `Character.valueOf(char)` which caches chars 0 through 127.
org.apache.commons.lang3.exception.ExceptionUtils.getCause​(Throwable): This feature will be removed in Lang 4.0, use `Throwable.getCause()` instead
org.apache.commons.lang3.exception.ExceptionUtils.getDefaultCauseMethodNames(): This feature will be removed in Lang 4.0
org.apache.commons.lang3.math.NumberUtils.isNumber​(String): This feature will be removed in Lang 4.0, use `NumberUtils.isCreatable(String)` instead
org.apache.commons.lang3.ObjectUtils.equals​(Object, Object): this method has been replaced by `java.util.Objects.equals(Object, Object)` in Java 7 and will be removed from future releases.
org.apache.commons.lang3.ObjectUtils.hashCode​(Object): this method has been replaced by `java.util.Objects.hashCode(Object)` in Java 7 and will be removed in future releases
org.apache.commons.lang3.ObjectUtils.hashCodeMulti​(Object...): this method has been replaced by `java.util.Objects.hash(Object...)` in Java 7 and will be removed in future releases.
org.apache.commons.lang3.ObjectUtils.identityToString​(StrBuilder, Object): as of 3.6, because StrBuilder was moved to commons-text, use one of the other `identityToString` methods instead
org.apache.commons.lang3.ObjectUtils.toString​(Object): this method has been replaced by `java.util.Objects.toString(Object)` in Java 7 and will be removed in future releases. Note however that said method will return "null" for null references, while this method returns an empty String. To preserve behavior use `java.util.Objects.toString(myObject, "")`
org.apache.commons.lang3.reflect.FieldUtils.removeFinalModifier​(Field, boolean): As of Java 12, we can no longer drop the `final` modifier, thus rendering this method obsolete. The JDK discussion about this change can be found here: http://mail.openjdk.java.net/pipermail/core-libs-dev/2018-November/056486.html
org.apache.commons.lang3.StringEscapeUtils.escapeXml​(String): use `StringEscapeUtils.escapeXml10(java.lang.String)` or `StringEscapeUtils.escapeXml11(java.lang.String)` instead.
org.apache.commons.lang3.StringUtils.chomp​(String, String): This feature will be removed in Lang 4.0, use `StringUtils.removeEnd(String, String)` instead
org.apache.commons.lang3.StringUtils.getFuzzyDistance​(CharSequence, CharSequence, Locale): as of 3.6, use commons-text FuzzyScore instead
org.apache.commons.lang3.StringUtils.getJaroWinklerDistance​(CharSequence, CharSequence): as of 3.6, use commons-text JaroWinklerDistance instead
org.apache.commons.lang3.StringUtils.getLevenshteinDistance​(CharSequence, CharSequence): as of 3.6, use commons-text LevenshteinDistance instead
org.apache.commons.lang3.StringUtils.removeAll​(String, String): Moved to RegExUtils.
org.apache.commons.lang3.StringUtils.removeFirst​(String, String): Moved to RegExUtils.
org.apache.commons.lang3.StringUtils.removePattern​(String, String): Moved to RegExUtils.
org.apache.commons.lang3.StringUtils.replaceAll​(String, String, String): Moved to RegExUtils.
org.apache.commons.lang3.StringUtils.replaceFirst​(String, String, String): Moved to RegExUtils.
org.apache.commons.lang3.StringUtils.replacePattern​(String, String, String): Moved to RegExUtils.
org.apache.commons.lang3.StringUtils.toString​(byte[], String): use `StringUtils.toEncodedString(byte[], Charset)` instead of String constants in your code
org.apache.commons.lang3.time.DatePrinter.format​(long, StringBuffer): Use {`DatePrinter.format(long, Appendable)`.
org.apache.commons.lang3.time.FastDateFormat.applyRules​(Calendar, StringBuffer): Use `FastDateFormat.format(Calendar, Appendable)`
org.apache.commons.lang3.time.FastDateFormat.format​(long, StringBuffer): Use {`FastDateFormat.format(long, Appendable)`.
org.apache.commons.lang3.time.FastDatePrinter.applyRules​(Calendar, StringBuffer): use `FastDatePrinter.format(Calendar)` or `FastDatePrinter.format(Calendar, Appendable)`
org.apache.commons.lang3.time.FastDatePrinter.format​(Object, StringBuffer, FieldPosition): Use {`FastDatePrinter.format(Date)`, {`FastDatePrinter.format(Calendar)`, {`FastDatePrinter.format(long)`, or {`FastDatePrinter.format(Object)`

Enum Constants
org.apache.commons.lang3.JavaVersion.JAVA_1_9: As of release 3.5, replaced by `JavaVersion.JAVA_9`