78

WebフォームをJavaのモデルに変換したい。

C#ではこれを書くことができます:

<input name="id" value="" type="text"/>


public class Test
{
    public int? Id{get;set;}
}

idnullにすることができます。

しかし、Javaでstruts2を使用すると、例外がスローされます。

Method "setId" failed

では、このケースをJavaで作成するにはどうすればよいでしょうか。

4

3 に答える 3

148

null許容Javaクラスであるため、を使用する代わりに(Integer javadocint )を使用できます。Integer

于 2013-01-14T15:18:04.017 に答える
48

を使用できますInteger。これは Java の参照型 (クラス) であるため、null 可能です。

Int32(またはint) は、C# の構造体 (値の型) です。対照的にInteger、Java では をラップするクラスintです。参照型のインスタンスは、正当なオプションnullになる可能性があります。Integer

Nullable<T>.NET では、値の型を null 許容型のように扱うことができるため、同様のオプションが提供されます。Integerただし、と比較できる構造体 (値の型) として実装されているため、Java のものとは異なりますnullが、実際には本物の null 参照を保持することはできません。

于 2013-01-14T15:18:33.143 に答える
8

Java では、Integer代わりにint. これは本質的に nullable int です。私は Struts にあまり詳しくありませんが、使用Integerすると値を省略できるはずです。

于 2013-01-14T15:18:55.647 に答える