# Deprecated API

## Contents

- Interfaces
- Classes
- Enums
- Fields
- Methods
- Constructors
- Enum Constants

- Deprecated Interfaces
  Interface
  Description
  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 Apache Commons Text FormatFactory.
  org.apache.commons.lang3.ThreadUtils.ThreadGroupPredicate
  Use a `Predicate`.
  org.apache.commons.lang3.ThreadUtils.ThreadPredicate
  Use a `Predicate`.

- Deprecated Classes
  Class
  Description
  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 Apache Commons Text StringEscapeUtils instead
  org.apache.commons.lang3.text.CompositeFormat
  As of 3.6, use Apache Commons Text CompositeFormat.
  org.apache.commons.lang3.text.ExtendedMessageFormat
  As of 3.6, use Apache Commons Text ExtendedMessageFormat.
  org.apache.commons.lang3.text.FormattableUtils
  As of 3.6, use Apache Commons Text FormattableUtils.
  org.apache.commons.lang3.text.StrBuilder
  As of 3.6, use Apache Commons Text TextStringBuilder.
  org.apache.commons.lang3.text.StrLookup
  As of 3.6, use Apache Commons Text StringLookupFactory.
  org.apache.commons.lang3.text.StrMatcher
  As of 3.6, use Apache Commons Text StringMatcherFactory.
  org.apache.commons.lang3.text.StrSubstitutor
  As of 3.6, use Apache Commons Text StringSubstitutor.
  org.apache.commons.lang3.text.StrTokenizer
  As of 3.6, use Apache Commons Text StringTokenizer.
  org.apache.commons.lang3.text.translate.AggregateTranslator
  As of 3.6, use Apache Commons Text AggregateTranslator.
  org.apache.commons.lang3.text.translate.CharSequenceTranslator
  As of 3.6, use Apache Commons Text CharSequenceTranslator.
  org.apache.commons.lang3.text.translate.CodePointTranslator
  As of 3.6, use Apache Commons Text CharSequenceTranslator.
  org.apache.commons.lang3.text.translate.EntityArrays
  As of 3.6, use Apache Commons Text EntityArrays.
  org.apache.commons.lang3.text.translate.JavaUnicodeEscaper
  As of 3.6, use Apache Commons Text UnicodeEscaper.
  org.apache.commons.lang3.text.translate.LookupTranslator
  As of 3.6, use Apache Commons Text LookupTranslator.
  org.apache.commons.lang3.text.translate.NumericEntityEscaper
  As of 3.6, use Apache Commons Text NumericEntityEscaper.
  org.apache.commons.lang3.text.translate.NumericEntityUnescaper
  As of 3.6, use Apache Commons Text NumericEntityUnescaper.
  org.apache.commons.lang3.text.translate.OctalUnescaper
  As of 3.6, use Apache Commons Text OctalUnescaper.
  org.apache.commons.lang3.text.translate.UnicodeEscaper
  As of 3.6, use Apache Commons Text UnicodeEscaper.
  org.apache.commons.lang3.text.translate.UnicodeUnescaper
  As of 3.6, use Apache Commons Text UnicodeUnescaper.
  org.apache.commons.lang3.text.translate.UnicodeUnpairedSurrogateRemover
  As of 3.6, use Apache Commons Text UnicodeUnpairedSurrogateRemover.
  org.apache.commons.lang3.text.WordUtils
  As of 3.6, use Apache Commons Text WordUtils.
  org.apache.commons.lang3.ThreadUtils.NamePredicate
  Use a `Predicate`.
  org.apache.commons.lang3.ThreadUtils.ThreadIdPredicate
  Use a `Predicate`.

- Deprecated Enums
  Enum
  Description
  org.apache.commons.lang3.text.translate.NumericEntityUnescaper.OPTION
  As of 3.18.0, use Apache Commons Text NumericEntityUnescaper.OPTION.

- Deprecated Fields
  Field
  Description
  org.apache.commons.lang3.StringEscapeUtils.ESCAPE_XML
  use `StringEscapeUtils.ESCAPE_XML10` or `StringEscapeUtils.ESCAPE_XML11` instead.
  org.apache.commons.lang3.SystemProperties.AWT_TOOLKIT
  Deprecated without replacement.
  org.apache.commons.lang3.SystemProperties.JAVA_AWT_FONTS
  Deprecated without replacement.
  org.apache.commons.lang3.SystemProperties.JAVA_AWT_GRAPHICSENV
  Deprecated without replacement.
  org.apache.commons.lang3.SystemProperties.JAVA_AWT_HEADLESS
  Deprecated without replacement.
  org.apache.commons.lang3.SystemProperties.JAVA_AWT_PRINTERJOB
  Deprecated without replacement.
  org.apache.commons.lang3.SystemProperties.JAVA_COMPILER
  Deprecated without replacement.
  org.apache.commons.lang3.SystemProperties.JAVA_ENDORSED_DIRS
  Deprecated without replacement.
  org.apache.commons.lang3.SystemProperties.JAVA_EXT_DIRS
  Deprecated without replacement.
  org.apache.commons.lang3.SystemUtils.AWT_TOOLKIT
  Deprecated without replacement.
  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.JAVA_AWT_FONTS
  Deprecated without replacement.
  org.apache.commons.lang3.SystemUtils.JAVA_AWT_GRAPHICSENV
  Deprecated without replacement.
  org.apache.commons.lang3.SystemUtils.JAVA_AWT_HEADLESS
  Deprecated without replacement.
  org.apache.commons.lang3.SystemUtils.JAVA_AWT_PRINTERJOB
  Deprecated without replacement.
  org.apache.commons.lang3.SystemUtils.JAVA_COMPILER
  Deprecated without replacement.
  org.apache.commons.lang3.SystemUtils.JAVA_ENDORSED_DIRS
  Deprecated without replacement.
  org.apache.commons.lang3.SystemUtils.JAVA_EXT_DIRS
  Deprecated without replacement.
  org.apache.commons.lang3.SystemUtils.JAVA_HOME_KEY
  Use `SystemProperties.JAVA_HOME`.
  org.apache.commons.lang3.SystemUtils.JAVA_IO_TMPDIR_KEY
  Use `SystemProperties.JAVA_IO_TMPDIR`.
  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.SystemUtils.USER_DIR_KEY
  Use `SystemProperties.USER_DIR`.
  org.apache.commons.lang3.SystemUtils.USER_NAME_KEY
  Use `SystemProperties.USER_NAME`.
  org.apache.commons.lang3.ThreadUtils.ALWAYS_TRUE_PREDICATE
  Use a `Predicate`.
  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.

- Deprecated Methods
  Method
  Description
  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.add(byte[], int, byte)
  this method has been superseded by `ArrayUtils.insert(int, byte[], byte...)` 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.add(char[], int, char)
  this method has been superseded by `ArrayUtils.insert(int, char[], char...)` 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.add(double[], int, double)
  this method has been superseded by `ArrayUtils.insert(int, double[], double...)` 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.add(float[], int, float)
  this method has been superseded by `ArrayUtils.insert(int, float[], float...)` 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.add(int[], int, int)
  this method has been superseded by `ArrayUtils.insert(int, int[], int...)` 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.add(long[], int, long)
  this method has been superseded by `ArrayUtils.insert(int, long[], long...)` 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.add(short[], int, short)
  this method has been superseded by `ArrayUtils.insert(int, short[], short...)` 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.add(T[], int, T)
  this method has been superseded by `insert(int, T[], T...)` 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.ArrayUtils.removeAllOccurences(byte[], byte)
  Use `ArrayUtils.removeAllOccurrences(byte[], byte)`
  org.apache.commons.lang3.ArrayUtils.removeAllOccurences(char[], char)
  Use `ArrayUtils.removeAllOccurrences(char[], char)`
  org.apache.commons.lang3.ArrayUtils.removeAllOccurences(double[], double)
  Use `ArrayUtils.removeAllOccurrences(double[], double)`
  org.apache.commons.lang3.ArrayUtils.removeAllOccurences(float[], float)
  Use `ArrayUtils.removeAllOccurrences(float[], float)`
  org.apache.commons.lang3.ArrayUtils.removeAllOccurences(int[], int)
  Use `ArrayUtils.removeAllOccurrences(int[], int)`
  org.apache.commons.lang3.ArrayUtils.removeAllOccurences(long[], long)
  Use `ArrayUtils.removeAllOccurrences(long[], long)`
  org.apache.commons.lang3.ArrayUtils.removeAllOccurences(short[], short)
  Use `ArrayUtils.removeAllOccurrences(short[], short)`
  org.apache.commons.lang3.ArrayUtils.removeAllOccurences(T[], T)
  Use `ArrayUtils.removeAllOccurrences(Object[], Object)`
  org.apache.commons.lang3.builder.Diff.getType()
  Unused, will be removed in 4.0.0.
  org.apache.commons.lang3.builder.ReflectionDiffBuilder.setExcludeFieldNames(String...)
  Use `ReflectionDiffBuilder.Builder.setExcludeFieldNames(String[])`.
  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)
  Use `Character.valueOf(char)`.
  org.apache.commons.lang3.exception.ExceptionUtils.getCause(Throwable)
  This feature will be removed in Lang 4, use `Throwable.getCause()` instead
  org.apache.commons.lang3.exception.ExceptionUtils.getCause(Throwable, String[])
  This feature will be removed in Lang 4, use `Throwable.getCause()` instead
  org.apache.commons.lang3.exception.ExceptionUtils.getDefaultCauseMethodNames()
  This feature will be removed in Lang 4
  org.apache.commons.lang3.exception.ExceptionUtils.throwUnchecked(T)
  Use `ExceptionUtils.throwUnchecked(Throwable)`.
  org.apache.commons.lang3.math.NumberUtils.compare(byte, byte)
  Use `Byte.compare(byte, byte)`.
  org.apache.commons.lang3.math.NumberUtils.compare(int, int)
  Use `Integer.compare(int, int)`.
  org.apache.commons.lang3.math.NumberUtils.compare(long, long)
  Use `Long.compare(long, long)`.
  org.apache.commons.lang3.math.NumberUtils.compare(short, short)
  Use `Short.compare(short, short)`.
  org.apache.commons.lang3.math.NumberUtils.isNumber(String)
  This feature will be removed in Lang 4, use `NumberUtils.isCreatable(String)` instead.
  org.apache.commons.lang3.mutable.Mutable.getValue()
  Use `Mutable.get()`.
  org.apache.commons.lang3.mutable.MutableBoolean.getValue()
  Use `Mutable.get()`.
  org.apache.commons.lang3.mutable.MutableByte.getValue()
  Use `Mutable.get()`.
  org.apache.commons.lang3.mutable.MutableDouble.getValue()
  Use `Mutable.get()`.
  org.apache.commons.lang3.mutable.MutableFloat.getValue()
  Use `Mutable.get()`.
  org.apache.commons.lang3.mutable.MutableInt.getValue()
  Use `Mutable.get()`.
  org.apache.commons.lang3.mutable.MutableLong.getValue()
  Use `Mutable.get()`.
  org.apache.commons.lang3.mutable.MutableObject.getValue()
  Use `Mutable.get()`.
  org.apache.commons.lang3.mutable.MutableShort.getValue()
  Use `Mutable.get()`.
  org.apache.commons.lang3.ObjectUtils.defaultIfNull(T, T)
  Use `ObjectUtils.getIfNull(Object, Object)`.
  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, String)
  this method has been replaced by `java.util.Objects.toString(Object, String)` in Java 7 and will be removed in future releases.
  org.apache.commons.lang3.RandomStringUtils.random(int)
  Use `RandomStringUtils.next(int)` from `RandomStringUtils.secure()`, `RandomStringUtils.secureStrong()`, or `RandomStringUtils.insecure()`.
  org.apache.commons.lang3.RandomStringUtils.random(int, boolean, boolean)
  Use `RandomStringUtils.next(int, boolean, boolean)` from `RandomStringUtils.secure()`, `RandomStringUtils.secureStrong()`, or `RandomStringUtils.insecure()`.
  org.apache.commons.lang3.RandomStringUtils.random(int, char...)
  Use `RandomStringUtils.next(int, char...)` from `RandomStringUtils.secure()`, `RandomStringUtils.secureStrong()`, or `RandomStringUtils.insecure()`.
  org.apache.commons.lang3.RandomStringUtils.random(int, int, int, boolean, boolean)
  Use `RandomStringUtils.next(int, int, int, boolean, boolean)` from `RandomStringUtils.secure()`, `RandomStringUtils.secureStrong()`, or `RandomStringUtils.insecure()`.
  org.apache.commons.lang3.RandomStringUtils.random(int, int, int, boolean, boolean, char...)
  Use `RandomStringUtils.next(int, int, int, boolean, boolean, char...)` from `RandomStringUtils.secure()`, `RandomStringUtils.secureStrong()`, or `RandomStringUtils.insecure()`.
  org.apache.commons.lang3.RandomStringUtils.random(int, String)
  Use `RandomStringUtils.next(int, String)` from `RandomStringUtils.secure()`, `RandomStringUtils.secureStrong()`, or `RandomStringUtils.insecure()`.
  org.apache.commons.lang3.RandomStringUtils.randomAlphabetic(int)
  Use `RandomStringUtils.nextAlphabetic(int)` from `RandomStringUtils.secure()`, `RandomStringUtils.secureStrong()`, or `RandomStringUtils.insecure()`.
  org.apache.commons.lang3.RandomStringUtils.randomAlphabetic(int, int)
  Use `RandomStringUtils.nextAlphabetic(int, int)` from `RandomStringUtils.secure()`, `RandomStringUtils.secureStrong()`, or `RandomStringUtils.insecure()`.
  org.apache.commons.lang3.RandomStringUtils.randomAlphanumeric(int)
  Use `RandomStringUtils.nextAlphanumeric(int)` from `RandomStringUtils.secure()`, `RandomStringUtils.secureStrong()`, or `RandomStringUtils.insecure()`.
  org.apache.commons.lang3.RandomStringUtils.randomAlphanumeric(int, int)
  Use `RandomStringUtils.nextAlphanumeric(int, int)` from `RandomStringUtils.secure()`, `RandomStringUtils.secureStrong()`, or `RandomStringUtils.insecure()`.
  org.apache.commons.lang3.RandomStringUtils.randomAscii(int)
  Use `RandomStringUtils.nextAscii(int)` from `RandomStringUtils.secure()`, `RandomStringUtils.secureStrong()`, or `RandomStringUtils.insecure()`.
  org.apache.commons.lang3.RandomStringUtils.randomAscii(int, int)
  Use `RandomStringUtils.nextAscii(int, int)` from `RandomStringUtils.secure()`, `RandomStringUtils.secureStrong()`, or `RandomStringUtils.insecure()`.
  org.apache.commons.lang3.RandomStringUtils.randomGraph(int)
  Use `RandomStringUtils.nextGraph(int)` from `RandomStringUtils.secure()`, `RandomStringUtils.secureStrong()`, or `RandomStringUtils.insecure()`.
  org.apache.commons.lang3.RandomStringUtils.randomGraph(int, int)
  Use `RandomStringUtils.nextGraph(int, int)` from `RandomStringUtils.secure()`, `RandomStringUtils.secureStrong()`, or `RandomStringUtils.insecure()`.
  org.apache.commons.lang3.RandomStringUtils.randomNumeric(int)
  Use `RandomStringUtils.nextNumeric(int)` from `RandomStringUtils.secure()`, `RandomStringUtils.secureStrong()`, or `RandomStringUtils.insecure()`.
  org.apache.commons.lang3.RandomStringUtils.randomNumeric(int, int)
  Use `RandomStringUtils.nextNumeric(int, int)` from `RandomStringUtils.secure()`, `RandomStringUtils.secureStrong()`, or `RandomStringUtils.insecure()`.
  org.apache.commons.lang3.RandomStringUtils.randomPrint(int)
  Use `RandomStringUtils.randomPrint(int)` from `RandomStringUtils.secure()`, `RandomStringUtils.secureStrong()`, or `RandomStringUtils.insecure()`.
  org.apache.commons.lang3.RandomStringUtils.randomPrint(int, int)
  Use `RandomStringUtils.randomPrint(int, int)` from `RandomStringUtils.secure()`, `RandomStringUtils.secureStrong()`, or `RandomStringUtils.insecure()`.
  org.apache.commons.lang3.RandomUtils.nextBoolean()
  Use `RandomUtils.secure()`, `RandomUtils.secureStrong()`, or `RandomUtils.insecure()`.
  org.apache.commons.lang3.RandomUtils.nextBytes(int)
  Use `RandomUtils.secure()`, `RandomUtils.secureStrong()`, or `RandomUtils.insecure()`.
  org.apache.commons.lang3.RandomUtils.nextDouble()
  Use `RandomUtils.secure()`, `RandomUtils.secureStrong()`, or `RandomUtils.insecure()`.
  org.apache.commons.lang3.RandomUtils.nextDouble(double, double)
  Use `RandomUtils.secure()`, `RandomUtils.secureStrong()`, or `RandomUtils.insecure()`.
  org.apache.commons.lang3.RandomUtils.nextFloat()
  Use `RandomUtils.secure()`, `RandomUtils.secureStrong()`, or `RandomUtils.insecure()`.
  org.apache.commons.lang3.RandomUtils.nextFloat(float, float)
  Use `RandomUtils.secure()`, `RandomUtils.secureStrong()`, or `RandomUtils.insecure()`.
  org.apache.commons.lang3.RandomUtils.nextInt()
  Use `RandomUtils.secure()`, `RandomUtils.secureStrong()`, or `RandomUtils.insecure()`.
  org.apache.commons.lang3.RandomUtils.nextInt(int, int)
  Use `RandomUtils.secure()`, `RandomUtils.secureStrong()`, or `RandomUtils.insecure()`.
  org.apache.commons.lang3.RandomUtils.nextLong()
  Use `RandomUtils.secure()`, `RandomUtils.secureStrong()`, or `RandomUtils.insecure()`.
  org.apache.commons.lang3.RandomUtils.nextLong(long, long)
  Use `RandomUtils.secure()`, `RandomUtils.secureStrong()`, or `RandomUtils.insecure()`.
  org.apache.commons.lang3.Range.between(T, T)
  Use `Range.of(Comparable, Comparable)`.
  org.apache.commons.lang3.Range.between(T, T, Comparator<T>)
  Use `Range.of(Object, Object, Comparator)`.
  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: https://mail.openjdk.java.net/pipermail/core-libs-dev/2018-November/056486.html
  org.apache.commons.lang3.RegExUtils.dotAllMatcher(String, String)
  Use `RegExUtils.dotAllMatcher(String, CharSequence)`.
  org.apache.commons.lang3.RegExUtils.removeAll(String, Pattern)
  Use `RegExUtils.removeAll(CharSequence, Pattern)`.
  org.apache.commons.lang3.RegExUtils.removeFirst(String, Pattern)
  Use `RegExUtils.removeFirst(CharSequence, Pattern)`.
  org.apache.commons.lang3.RegExUtils.removePattern(String, String)
  use `RegExUtils.removePattern(CharSequence, String)`.
  org.apache.commons.lang3.RegExUtils.replaceAll(String, Pattern, String)
  Use `RegExUtils.replaceAll(CharSequence, Pattern, String)`.
  org.apache.commons.lang3.RegExUtils.replaceFirst(String, Pattern, String)
  Use `RegExUtils.replaceFirst(CharSequence, Pattern, String)`.
  org.apache.commons.lang3.RegExUtils.replacePattern(String, String, String)
  Use `RegExUtils.replacePattern(CharSequence, String, String)`.
  org.apache.commons.lang3.stream.Streams.stream(Collection<E>)
  Use `Streams.failableStream(Collection)`.
  org.apache.commons.lang3.stream.Streams.stream(Stream<T>)
  Use `Streams.failableStream(Stream)`.
  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.appendIfMissing(String, CharSequence, CharSequence...)
  Use `Strings.CS.appendIfMissing(String, CharSequence, CharSequence...)`
  org.apache.commons.lang3.StringUtils.appendIfMissingIgnoreCase(String, CharSequence, CharSequence...)
  Use `Strings.CI.appendIfMissing(String, CharSequence, CharSequence...)`
  org.apache.commons.lang3.StringUtils.chomp(String, String)
  This feature will be removed in Lang 4, use `StringUtils.removeEnd(String, String)` instead.
  org.apache.commons.lang3.StringUtils.compare(String, String)
  Use `Strings.CS.compare(String, String)`
  org.apache.commons.lang3.StringUtils.compareIgnoreCase(String, String)
  Use `Strings.CI.compare(String, String)`
  org.apache.commons.lang3.StringUtils.contains(CharSequence, CharSequence)
  Use `Strings.CS.contains(CharSequence, CharSequence)`
  org.apache.commons.lang3.StringUtils.containsAny(CharSequence, CharSequence...)
  Use `Strings.CS.containsAny(CharSequence, CharSequence...)`
  org.apache.commons.lang3.StringUtils.containsAnyIgnoreCase(CharSequence, CharSequence...)
  Use `Strings.CI.containsAny(CharSequence, CharSequence...)`
  org.apache.commons.lang3.StringUtils.containsIgnoreCase(CharSequence, CharSequence)
  Use `Strings.CI.contains(CharSequence, CharSequence)`
  org.apache.commons.lang3.StringUtils.defaultString(String, String)
  Use `Objects.toString(Object, String)`
  org.apache.commons.lang3.StringUtils.endsWith(CharSequence, CharSequence)
  Use `Strings.CS.endsWith(CharSequence, CharSequence)`
  org.apache.commons.lang3.StringUtils.endsWithAny(CharSequence, CharSequence...)
  Use `Strings.CS.endsWithAny(CharSequence, CharSequence...)`
  org.apache.commons.lang3.StringUtils.endsWithIgnoreCase(CharSequence, CharSequence)
  Use `Strings.CI.endsWith(CharSequence, CharSequence)`
  org.apache.commons.lang3.StringUtils.equals(CharSequence, CharSequence)
  Use `Strings.CS.equals(CharSequence, CharSequence)`
  org.apache.commons.lang3.StringUtils.equalsAny(CharSequence, CharSequence...)
  Use `Strings.CS.equalsAny(CharSequence, CharSequence...)`
  org.apache.commons.lang3.StringUtils.equalsAnyIgnoreCase(CharSequence, CharSequence...)
  Use `Strings.CI-.equalsAny(CharSequence, CharSequence...)`
  org.apache.commons.lang3.StringUtils.equalsIgnoreCase(CharSequence, CharSequence)
  Use `Strings.CI.equals(CharSequence, CharSequence)`
  org.apache.commons.lang3.StringUtils.getFuzzyDistance(CharSequence, CharSequence, Locale)
  As of 3.6, use Apache Commons Text FuzzyScore instead
  org.apache.commons.lang3.StringUtils.getJaroWinklerDistance(CharSequence, CharSequence)
  As of 3.6, use Apache Commons Text JaroWinklerDistance instead
  org.apache.commons.lang3.StringUtils.getLevenshteinDistance(CharSequence, CharSequence)
  As of 3.6, use Apache Commons Text LevenshteinDistance instead
  org.apache.commons.lang3.StringUtils.getLevenshteinDistance(CharSequence, CharSequence, int)
  As of 3.6, use Apache Commons Text LevenshteinDistance instead
  org.apache.commons.lang3.StringUtils.indexOf(CharSequence, CharSequence)
  Use `Strings.CS.indexOf(CharSequence, CharSequence)`
  org.apache.commons.lang3.StringUtils.indexOf(CharSequence, CharSequence, int)
  Use `Strings.CS.indexOf(CharSequence, CharSequence, int)`
  org.apache.commons.lang3.StringUtils.indexOfIgnoreCase(CharSequence, CharSequence)
  Use `Strings.CI.indexOf(CharSequence, CharSequence)`
  org.apache.commons.lang3.StringUtils.indexOfIgnoreCase(CharSequence, CharSequence, int)
  Use `Strings.CI.indexOf(CharSequence, CharSequence, int)`
  org.apache.commons.lang3.StringUtils.lastIndexOf(CharSequence, CharSequence)
  Use `Strings.CS.lastIndexOf(CharSequence, CharSequence)`
  org.apache.commons.lang3.StringUtils.lastIndexOf(CharSequence, CharSequence, int)
  Use `Strings.CS.lastIndexOf(CharSequence, CharSequence, int)`
  org.apache.commons.lang3.StringUtils.lastIndexOfIgnoreCase(CharSequence, CharSequence)
  Use `Strings.CI.lastIndexOf(CharSequence, CharSequence)`
  org.apache.commons.lang3.StringUtils.lastIndexOfIgnoreCase(CharSequence, CharSequence, int)
  Use `Strings.CI.lastIndexOf(CharSequence, CharSequence, int)`
  org.apache.commons.lang3.StringUtils.prependIfMissing(String, CharSequence, CharSequence...)
  Use `Strings.CS.prependIfMissing(String, CharSequence, CharSequence...)`
  org.apache.commons.lang3.StringUtils.prependIfMissingIgnoreCase(String, CharSequence, CharSequence...)
  Use `Strings.CI.prependIfMissing(String, CharSequence, CharSequence...)`
  org.apache.commons.lang3.StringUtils.remove(String, String)
  Use `Strings.CS.remove(String, String)`
  org.apache.commons.lang3.StringUtils.removeAll(String, String)
  Moved to RegExUtils.
  org.apache.commons.lang3.StringUtils.removeEnd(String, String)
  Use `Strings.CS.removeEnd(String, CharSequence)`
  org.apache.commons.lang3.StringUtils.removeEndIgnoreCase(String, String)
  Use `Strings.CI.removeEnd(String, CharSequence)`
  org.apache.commons.lang3.StringUtils.removeFirst(String, String)
  Moved to RegExUtils.
  org.apache.commons.lang3.StringUtils.removeIgnoreCase(String, String)
  Use `Strings.CI.remove(String, String)`
  org.apache.commons.lang3.StringUtils.removePattern(String, String)
  Moved to RegExUtils.
  org.apache.commons.lang3.StringUtils.removeStart(String, String)
  Use `Strings.CS.removeStart(String, CharSequence)`
  org.apache.commons.lang3.StringUtils.removeStartIgnoreCase(String, String)
  Use `Strings.CI.removeStart(String, CharSequence)`
  org.apache.commons.lang3.StringUtils.replace(String, String, String)
  Use `Strings.CS.replace(String, String, String)`
  org.apache.commons.lang3.StringUtils.replace(String, String, String, int)
  Use `Strings.CS.replace(String, String, String, int)`
  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.replaceIgnoreCase(String, String, String)
  Use `Strings.CI.replace(String, String, String)`
  org.apache.commons.lang3.StringUtils.replaceIgnoreCase(String, String, String, int)
  Use `Strings.CI.replace(String, String, String, int)`
  org.apache.commons.lang3.StringUtils.replaceOnce(String, String, String)
  Use `Strings.CS.replaceOnce(String, String, String)`
  org.apache.commons.lang3.StringUtils.replaceOnceIgnoreCase(String, String, String)
  Use `Strings.CI.replaceOnce(String, String, String)`
  org.apache.commons.lang3.StringUtils.replacePattern(String, String, String)
  Moved to RegExUtils.
  org.apache.commons.lang3.StringUtils.startsWith(CharSequence, CharSequence)
  Use `Strings.CS.startsWith(CharSequence, CharSequence)`
  org.apache.commons.lang3.StringUtils.startsWithAny(CharSequence, CharSequence...)
  Use `Strings.CS.startsWithAny(CharSequence, CharSequence...)`
  org.apache.commons.lang3.StringUtils.startsWithIgnoreCase(CharSequence, CharSequence)
  Use `Strings.CI.startsWith(CharSequence, CharSequence)`
  org.apache.commons.lang3.StringUtils.toString(byte[], String)
  use `StringUtils.toEncodedString(byte[], Charset)` instead of String constants in your code
  org.apache.commons.lang3.SystemProperties.getAwtToolkit()
  Deprecated without replacement.
  org.apache.commons.lang3.SystemProperties.getJavaAwtFonts()
  Deprecated without replacement.
  org.apache.commons.lang3.SystemProperties.getJavaAwtGraphicsenv()
  Deprecated without replacement.
  org.apache.commons.lang3.SystemProperties.getJavaAwtHeadless()
  Deprecated without replacement.
  org.apache.commons.lang3.SystemProperties.getJavaAwtPrinterjob()
  Deprecated without replacement.
  org.apache.commons.lang3.SystemProperties.getJavaCompiler()
  Deprecated without replacement.
  org.apache.commons.lang3.SystemProperties.getJavaEndorsedDirs()
  Deprecated without replacement.
  org.apache.commons.lang3.SystemProperties.getJavaExtDirs()
  Deprecated without replacement.
  org.apache.commons.lang3.SystemUtils.getUserName()
  Use `SystemProperties.getUserName()`.
  org.apache.commons.lang3.SystemUtils.getUserName(String)
  Use `SystemProperties.getUserName(String)`.
  org.apache.commons.lang3.SystemUtils.isJavaAwtHeadless()
  Deprecated without replacement.
  org.apache.commons.lang3.ThreadUtils.findThreadGroups(ThreadGroup, boolean, ThreadUtils.ThreadGroupPredicate)
  Use `ThreadUtils.findThreadGroups(ThreadGroup, boolean, Predicate)`.
  org.apache.commons.lang3.ThreadUtils.findThreadGroups(ThreadUtils.ThreadGroupPredicate)
  Use `ThreadUtils.findThreadGroups(Predicate)`.
  org.apache.commons.lang3.ThreadUtils.findThreads(ThreadGroup, boolean, ThreadUtils.ThreadPredicate)
  Use `ThreadUtils.findThreads(ThreadGroup, boolean, Predicate)`.
  org.apache.commons.lang3.ThreadUtils.findThreads(ThreadUtils.ThreadPredicate)
  Use `ThreadUtils.findThreads(Predicate)`.
  org.apache.commons.lang3.time.DatePrinter.format(long, StringBuffer)
  Use {`DatePrinter.format(long, Appendable)`.
  org.apache.commons.lang3.time.DatePrinter.format(Calendar, StringBuffer)
  Use {`DatePrinter.format(Calendar, Appendable)`.
  org.apache.commons.lang3.time.DatePrinter.format(Date, StringBuffer)
  Use {`DatePrinter.format(Date, Appendable)`.
  org.apache.commons.lang3.time.DurationUtils.getNanosOfMiili(Duration)
  Use `DurationUtils.getNanosOfMilli(Duration)`.
  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.FastDateFormat.format(Calendar, StringBuffer)
  Use {`FastDateFormat.format(Calendar, Appendable)`.
  org.apache.commons.lang3.time.FastDateFormat.format(Date, StringBuffer)
  Use {`FastDateFormat.format(Date, 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)`.
  org.apache.commons.lang3.time.StopWatch.getSplitTime()
  Use `StopWatch.getSplitDuration()`.
  org.apache.commons.lang3.time.StopWatch.getStartTime()
  Use `StopWatch.getStartInstant()`.
  org.apache.commons.lang3.time.StopWatch.getStopTime()
  Use `StopWatch.getStopInstant()`.
  org.apache.commons.lang3.Validate.notNull(T)
  Use `Objects.requireNonNull(Object)`.

- Deprecated Constructors
  Constructor
  Description
  org.apache.commons.lang3.AnnotationUtils()
  TODO Make private in 4.0.
  org.apache.commons.lang3.ArchUtils()
  TODO Make private in 4.0.
  org.apache.commons.lang3.ArraySorter()
  Will be removed in 4.0.0.
  org.apache.commons.lang3.ArrayUtils()
  TODO Make private in 4.0.
  org.apache.commons.lang3.BooleanUtils()
  TODO Make private in 4.0.
  org.apache.commons.lang3.builder.DiffBuilder(T, T, ToStringStyle)
  Use `DiffBuilder.Builder`.
  org.apache.commons.lang3.builder.DiffBuilder(T, T, ToStringStyle, boolean)
  Use `DiffBuilder.Builder`.
  org.apache.commons.lang3.builder.ReflectionDiffBuilder(T, T, ToStringStyle)
  Use `ReflectionDiffBuilder.Builder`.
  org.apache.commons.lang3.CharEncoding()
  Will be removed in 4.0.0.
  org.apache.commons.lang3.CharSequenceUtils()
  TODO Make private in 4.0.
  org.apache.commons.lang3.CharSetUtils()
  TODO Make private in 4.0.
  org.apache.commons.lang3.CharUtils()
  TODO Make private in 4.0.
  org.apache.commons.lang3.ClassLoaderUtils()
  TODO Make private in 4.0.
  org.apache.commons.lang3.ClassPathUtils()
  TODO Make private in 4.0.
  org.apache.commons.lang3.ClassUtils()
  TODO Make private in 4.0.
  org.apache.commons.lang3.compare.ObjectToStringComparator()
  Will be private in 4.0.0.
  org.apache.commons.lang3.concurrent.BasicThreadFactory.Builder()
  Use `BasicThreadFactory.builder()`.
  org.apache.commons.lang3.concurrent.locks.LockingVisitors()
  TODO Make private in 4.0.
  org.apache.commons.lang3.Conversion()
  Will be removed in 4.0.0.
  org.apache.commons.lang3.EnumUtils()
  TODO Make private in 4.0.
  org.apache.commons.lang3.event.EventUtils()
  TODO Make private in 4.0.
  org.apache.commons.lang3.exception.ExceptionUtils()
  TODO Make private in 4.0.
  org.apache.commons.lang3.function.Suppliers()
  TODO Make private in 4.0.
  org.apache.commons.lang3.LocaleUtils()
  TODO Make private in 4.0.
  org.apache.commons.lang3.math.IEEE754rUtils()
  TODO Make private in 4.0.
  org.apache.commons.lang3.math.NumberUtils()
  TODO Make private in 4.0.
  org.apache.commons.lang3.ObjectUtils()
  TODO Make private in 4.0.
  org.apache.commons.lang3.RandomStringUtils()
  TODO Make private in 4.0.
  org.apache.commons.lang3.RandomUtils()
  TODO Make private in 4.0.
  org.apache.commons.lang3.reflect.ConstructorUtils()
  TODO Make private in 4.0.
  org.apache.commons.lang3.reflect.FieldUtils()
  TODO Make private in 4.0.
  org.apache.commons.lang3.reflect.InheritanceUtils()
  TODO Make private in 4.0.
  org.apache.commons.lang3.reflect.MethodUtils()
  TODO Make private in 4.0.
  org.apache.commons.lang3.reflect.TypeUtils()
  TODO Make private in 4.0.
  org.apache.commons.lang3.RegExUtils()
  TODO Make private in 4.0.
  org.apache.commons.lang3.RuntimeEnvironment()
  Will be removed in 4.0.0.
  org.apache.commons.lang3.SerializationUtils()
  TODO Make private in 4.0.
  org.apache.commons.lang3.stream.IntStreams()
  TODO Make private in 4.0.
  org.apache.commons.lang3.stream.Streams()
  Will be private in 4.0.0.
  org.apache.commons.lang3.StringEscapeUtils()
  TODO Make private in 4.0.
  org.apache.commons.lang3.StringUtils()
  TODO Make private in 4.0.
  org.apache.commons.lang3.SystemProperties()
  TODO Make private in 4.0.
  org.apache.commons.lang3.text.translate.EntityArrays()
  Will be removed in 4.0.0.
  org.apache.commons.lang3.ThreadUtils()
  TODO Make private in 4.0.
  org.apache.commons.lang3.time.DateFormatUtils()
  TODO Make private in 4.0.
  org.apache.commons.lang3.time.DateUtils()
  TODO Make private in 4.0.
  org.apache.commons.lang3.time.DurationFormatUtils()
  TODO Make private in 4.0.
  org.apache.commons.lang3.time.DurationUtils()
  TODO Make private in 4.0.

- Deprecated Enum Constants
  Enum Constant
  Description
  org.apache.commons.lang3.JavaVersion.JAVA_1_9
  As of release 3.5, replaced by `JavaVersion.JAVA_9`