Para cada tipo numérico inteiro, Java define uma classe correspondente com facilidades para manipulação de seus valores. Assim, são definidas as classes Byte, Short, Integer e Long.
Em cada uma dessas classes são definidas constantes que especificam qual os limites de valores representáveis em uma variável do tipo correspondente, tais como Integer.MIN_VALUE e Long.MAX_VALUE. Cada classe oferece também, através de métodos da classe, funcionalidades para converter uma representação de um valor da forma string para a forma numérica, como por exemplo parseInt().
Outra funcionalidade importante destas classes é a possibilidade de encapsular uma variável de cada um desses tipos como sendo um objeto da classe correspondente. Por exemplo, um objeto Integer pode ser construído tendo como argumento para o construtor a variável do tipo int, que pode ser então utilizada onde objetos são esperados. Para recuperar a variável int do objeto Integer, o método intValue() é aplicado.