Je souhaite convertir un formulaire Web en modèle en Java.
En C # je peux écrire ceci:
<input name="id" value="" type="text"/>
public class Test
{
public int? Id{get;set;}
}
id
peut être nul.
Mais dans Java lors de l'utilisation de struts2, il lève une exception:
Method "setId" failed
Alors, comment écrire ce cas en Java?
Vous pouvez utiliser Integer qui est une classe et est nullable.
Vous pouvez utiliser un Integer
, qui est un type de référence (classe) dans Java et donc nullable.
Int32
(ou int
) est un struct (type de valeur) en C #. En revanche, Integer
in Java est une classe qui wraps an int
. Les instances de types de référence peuvent être null
, ce qui fait de Integer
une option légitime.
Nullable<T>
dans .NET vous offre des options similaires car il vous permet de traiter un type de valeur comme un type nullable. Cependant, il est toujours différent de Integer
de Java car il est implémenté en tant que struct (type de valeur) qui peut être comparé à null
, mais ne peut pas réellement contenir une référence null authentique.
En Java, utilisez simplement Integer
au lieu de int
. Il s'agit essentiellement d'un entier nullable. Je ne connais pas trop Struts, mais l'utilisation de Integer
devrait vous permettre d'omettre la valeur.