Deserialize Classe

Hi

Estou com problemas para deserialize uma classe que possui tipos primitivos.
Me surgiu a dúvida se existe um problema com relação a isso: Para Serializar um objeto é necessário que seus atributos sejam objetos e não tipos primitivos.
Por exemplo:

public class Usuario implements Serializable{
    public int idade = 10;
    ....
}

Ou o correto deveria ser ?

public class Usuario implements Serializable{
    public Integer idade = 10;
    ....
}

Ao serializar um objeto (de uma classe que implementa Serializable), todos os atributos que não são marcados como “transient” são serializados, incluindo os atributos com tipos primitivos. Na verdade, é melhor usar tipos primitivos, não os encapsulamentos.

Entretanto, se a classe tiver algum atributo que, por algum motivo, não puder ser serializado, ela terá problemas de ser serializada. O problema, provavelmente, é porque a classe tem algum atributo que não pode ser serializado.
Um exemplo estúpido é quando você tenta serializar um objeto de uma classe que tem um atributo do tipo java.io.File, java.io.InputStream, java.sql.Connection, java.lang.Thread ou alguma outra coisa que obviamente não pode ser serializada.
Nesses casos, você ou marca o atributo como transiente, ou então separa a parte que tem de ser serializada da parte que não precisa ser serializada em 2 classes distintas.