我想将 Web 表单转换为 Java 模型。
在 C# 中,我可以这样写:
<input name="id" value="" type="text"/>
public class Test
{
public int? Id{get;set;}
}
id
可以为空。
但是在 Java 中使用 struts2 时会抛出异常:
Method "setId" failed
那么如何用Java编写这个案例呢?
int
您可以使用Integer
( Integer javadoc ) 而不是使用,因为它是一个可为空的 Java 类。
您可以使用Integer
,它是 Java 中的引用类型(类),因此可以为空。
Int32
(或int
)是 C# 中的结构(值类型)。相反,Integer
在 Java 中是一个包装了int
. 引用类型的实例可以是null
,这是Integer
一个合法的选择。
Nullable<T>
在 .NET 中为您提供了类似的选项,因为它使您能够将值类型视为可空类型。但是,它仍然与 Java 不同,Integer
因为它是作为结构(值类型)实现的,可以与 进行比较null
,但实际上不能保存真正的空引用。
在 Java 中,只需使用Integer
而不是int
. 这本质上是一个可为空的 int。我对 Struts 不太熟悉,但使用Integer
应该允许您省略该值。