Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Never use deprecated fields, methods, or classes in new code. Java also provides a an @deprecated annotation to indicate the deprecation of specific fields, methods, and classes. For example, many methods of java.util.Date, such as Date.getYear(), have been explicitly deprecated. Rule THI05-J. Do not use Thread.stop() to terminate threads describes issues that can result from using the deprecated Thread.stop() method. 

...

You Programmers should use the list of deprecated functions specific to the language version you they are using, although it may also be possible to avoid the use of APIs that are deprecated in later versions as well if suitable alternatives are available.

...

Class or Method

Replacement

Rule

java.lang.Character.isJavaLetter()

java.lang.Character.isJavaIdentifierStart()

 

java.lang.Character.isJavaLetterOrDigit()

java.lang.Character.isJavaIdentifierPart()

 

java.lang.Character.isSpace()

java.lang.Character.isWhitespace()

 

java.lang.Class.newInstance()

java.lang.reflect.Constructor.newInstance()

ERR06-J. Do not throw undeclared checked exceptions

java.util.Date (many methods)

java.util.Calendar

 

java.util.Dictionary<K,V>

java.util.Map<K,V>

 

java.util.Properties.save()

java.util.Properties.store()

 

java.lang.Thread.run()

java.lang.Thread.start()

THI00-J. Do not invoke Thread.run()

java.lang.Thread.stop()

java.lang.Thread.interrupt()

THI05-J. Do not use Thread.stop() to terminate threads

java.lang.ThreadGroup (many methods)

java.util.concurrent.Executor

THI01-J. Do not invoke ThreadGroup methods

The Java Virtual Machine (JVM) Profiler Interface (JVMPI) and JVM Debug Interface (JVMDI) are also deprecated and have been replaced by the JVM Tool Interface (JVMTI) . See (see rule ENV05-J. Do not deploy an application that can be remotely monitored for more information).

Risk Assessment

Using deprecated or obsolete classes or methods in program code can lead to erroneous behavior.

Rule

Severity

Likelihood

Remediation Cost

Priority

Level

MET02-J

Low

Unlikely

Medium

P2

L3

Automated Detection

Detecting uses of deprecated methods is straightforward. Obsolete methods have no automatic means of detection.

...

ISO/IEC TR 24772:2010

Deprecated language features Language Features [MEM]

MITRE CWE

CWE-589. , Call to nonNon-ubiquitous API

Android Implementation Details

The Android SDK also has deprecated or and obsolete APIs. Also, there may exist incompatible APIs depending on the SDK version. ThereforeConsequently, it is recommended that developers refer to the "Android API Difference reportDifferences Report" and consider replacing the deprecated APIs.

Bibliography

 

...

      Rule 06: Methods (MET)       Image Added