我想将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。