Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Module : java.base
Version documentée : Java SE 17

Le paquetage java.lang

Description du paquetage

Ce paquetage propose les classes de bases nécessaires au bon fonctionnement de tous programmes Java (String, System, Object...). Il faut savoir que c'est le seul paquetage Java qui ne nécessite pas d'être importé : vous avez implicitement la visibilité sur le contenu de ce paquetage.

La classe java.lang.Object

Parmi les classes proposées, nous retrouvons la classe java.lang.Object. Elle est très importante, car elle est la classe de base de tout objet Java. Par héritage, elle garantit la présence de quelques méthodes fondamentales sur toute instance (toString, wait, notify...)

 1 
 2 
 3 
 4 
 5 
 6 
public class String extends Object
        implements java.io.Serializable, java.lang.CharSequence, java.lang.Comparable<java.lang.String> {
        
    // Suite de la définition de la classe
        
}
Extrait de la définition de la classe java.lang.String

Wrapper classes, auto boxing et unboxing

On peut aussi signaler la présence des « Wrapper classes » dans ce paquetage. Ces classes, aussi appelées « classes enveloppantes » en français, propose des méthodes (statiques ou non) utiles à la manipulation des types primitifs Java. Elles permettent aussi les mécanismes d' « auto boxing » et de » unboxing » : en d'autres termes elles permettent de transformer un type primitif en une instance Java et réciproquement. Chaque type primitif possède sa classe enveloppante. Le tableau suivant rappelle ces associations type primitif/classe enveloppante.

Type primitif Classe enveloppante associée
boolean java.lang.Boolean
byte java.lang.Byte
char java.lang.Character
double java.lang.Double
float java.lang.Float
int java.lang.Integer
long java.lang.Long
short java.lang.Short

Pour de plus amples informations à ce sujet, je vous recommande de suivre le chapitre de notre tutoriel Java dédié aux classes enveloppantes.

La gestion des chaînes de caractères

Java implémente par défaut les chaînes de caractères en s'appuyant sur le standard UTF-16 : un caractère occupe deux octets en mémoire. Le type char et la classe java.lang.String étant les deux types principaux. D'autres classes complètent ces possibilités et notamment java.lang.StringBuffer et java.lang.StringBuilder.

Pour de plus amples informations à ce sujet, je vous recommande de suivre le chapitre de notre tutoriel Java dédié à la gestion des chaînes de caractères.

La gestion des exceptions

Les classes de bases relatives à la gestion des exceptions sont aussi définies dans ce paquetage : java.lang.Throwable, java.lang.Exception et java.lang.Error. De nombreuses autres classes d'exceptions y sont aussi présentes.

Pour de plus amples informations à ce sujet, je vous recommande de suivre le chapitre de notre tutoriel Java dédié à la gestion des exceptions.

Exemple de code

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
 17 
 18 
 19 
 20 
 21 
package fr.koor.sample;
    
public class Start {

    public static void main( String [] args ) {
    
        // La classe System est définie dans le paquetage java.lang => pas d'import.
        System.out.println( "Utilisation sans import." );
        // Utilisation avec le nom de la classe pleinement qualifié (paquetage compris)
        java.lang.System.out.println( "Ca marche aussi !!!" );
        
        String message = "String est aussi une classe du paquetage java.lang";
        System.out.println( message );
        
        // Un exemple d'utilisation d'une classe enveloppante (wrapper class) proposée par java.lang.
        int value = Integer.parseInt( "1234" );
        System.out.println( "Pour convertir une chaîne en un entier : " + value );
    
    }

}
Exemple d'utilisation de classes du paquetage java.lang (aucun import)

Disponible depuis

1.0

Voir aussi

package java.io
package java.util

Contenu du paquetage

Interfaces

NomDescription
Appendable
AutoCloseable
CharSequence
Cloneable
Comparable
Iterable
ProcessHandle
ProcessHandle.Info
Readable
Runnable
StackWalker.StackFrame
System.Logger
Thread.UncaughtExceptionHandler

Classes

NomDescription
Boolean
Byte
Character
Character.Subset
Character.UnicodeBlock
Class
ClassLoader
ClassValue
Double
Enum
Enum.EnumDesc
Float
InheritableThreadLocal
Integer
Long
Math Cette classe propose, sous forme de méthodes statiques, les fonctions mathématiques usuelles telles que les fonctions trigonométriques, exponentielles, logarithmiques et autres.
Module
ModuleLayer
ModuleLayer.Controller
Number
Object
Package
Process
ProcessBuilder
ProcessBuilder.Redirect
Record
Runtime
Runtime.Version
RuntimePermission
Short
StackTraceElement
StackWalker
StrictMath Cette classe propose, sous forme de méthodes statiques, les fonctions mathématiques usuelles telles que les fonctions trigonométriques, exponentielles, logarithmiques et autres.
String La classe java.lang.String permet la manipulation de chaînes de caractères.
StringBuffer
StringBuilder Cette classe permet de produire une chaîne de caractères nécessitant d'agréger une grande quantité d'informations.
System Cette classe permet l'interfaçage entre votre programme Java et le système d'exploitation utilisé
System.LoggerFinder
Thread
ThreadGroup
ThreadLocal
Throwable
Void

Types énumérés

NomDescription
Character.UnicodeScript
ProcessBuilder.Redirect.Type
StackWalker.Option
System.Logger.Level
Thread.State

Annotations

NomDescription
Deprecated
FunctionalInterface
Override
SafeVarargs
SuppressWarnings

Exceptions

NomDescription
ArithmeticException
ArrayIndexOutOfBoundsException
ArrayStoreException
ClassCastException
ClassNotFoundException
CloneNotSupportedException
EnumConstantNotPresentException
Exception
IllegalAccessException
IllegalArgumentException
IllegalCallerException
IllegalMonitorStateException
IllegalStateException
IllegalThreadStateException
IndexOutOfBoundsException
InstantiationException
InterruptedException
LayerInstantiationException
NegativeArraySizeException
NoSuchFieldException
NoSuchMethodException
NullPointerException
NumberFormatException
ReflectiveOperationException
RuntimeException
SecurityException
StringIndexOutOfBoundsException
TypeNotPresentException
UnsupportedOperationException

Erreurs

NomDescription
AbstractMethodError
AssertionError
BootstrapMethodError
ClassCircularityError
ClassFormatError
Error
ExceptionInInitializerError
IllegalAccessError
IncompatibleClassChangeError
InstantiationError
InternalError
LinkageError
NoClassDefFoundError
NoSuchFieldError
NoSuchMethodError
OutOfMemoryError
StackOverflowError
ThreadDeath
UnknownError
UnsatisfiedLinkError
UnsupportedClassVersionError
VerifyError
VirtualMachineError

Types dépréciés (obsolètes)

NomDescription
Compiler
SecurityManager