如何在java中编写可为空的int?

2022-08-31 12:40:29

我想将Web表单转换为Java中的模型。

在C#中,我可以这样写:

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


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

可以为空。id

但是在Java中使用struts2时,它会引发一个异常:

Method "setId" failed

那么如何用Java编写这个案例呢?


答案 1

您可以使用(Integer javadoc)而不是使用,因为它是一个可为空的Java类。intInteger


答案 2

您可以使用 ,它是 Java 中的引用类型(类),因此可以为 null。Integer

Int32(or ) 是 C# 中的结构(值类型)。相反,在Java中是一个包装.引用类型的实例可以是 ,这使其成为合法的选项。intIntegerintnullInteger

Nullable<T>在 .NET 中为您提供了类似的选项,因为它使您能够将值类型视为可为 null 的类型。但是,它仍然与Java不同,因为它被实现为一个结构(值类型),可以与进行比较,但实际上不能包含真正的空引用。Integernull


推荐