我想将Web表单转换为Java模型。
在C#中,我可以这样写:
<input name="id" value="" type="text"/>
public class Test
{
public int? Id{get;set;}
}
在id
可以为空。
但是在Java中,使用struts2时会引发异常:
Method "setId" failed
那么如何用Java编写这种情况呢?
我想将Web表单转换为Java模型。
在C#中,我可以这样写:
<input name="id" value="" type="text"/>
public class Test
{
public int? Id{get;set;}
}
在id
可以为空。
但是在Java中,使用struts2时会引发异常:
Method "setId" failed
那么如何用Java编写这种情况呢?
Answers:
int
可以使用Integer
(Integer javadoc)代替使用,因为它是可为空的Java类。
您可以使用Integer
,这是Java中的引用类型(类),因此可以为空。
Int32
(或int
)是C#中的结构(值类型)。相反,Integer
在Java中,是一个包装了的类int
。引用类型的实例可以是null
,这是Integer
一个合法选项。
Nullable<T>
.NET中的NET提供了类似的选项,因为它使您可以将值类型视为可为空的类型。但是,它仍然与Java有所不同,Integer
因为它实现为可以与进行比较的struct(值类型)null
,但实际上不能保存真正的null引用。
Integer
代替int
。