在 Java 的Project Valhalla的上下文中,我如何一般地初始化一个使用其默认值值类型?
最初,我认为分配null
给任何值类型都会执行此初始化。但是,对这个问题的回答和评论清楚地表明,这null
是一个引用,因此它与值类型无关(正是由于值类型不是引用,而是直接值)。
例如,如果我有一个Person
带有StringValueType name
和DateValueType dateOfBirth
属性的值类型(这里dateOfBirth
将是一个包含int year
,int month
和int day
属性的嵌套值类型),我如何以通用方式Person
初始化我的值类型,以便其属性的值是for和(或相应的默认值)值)为""
name
(0, 0, 0)
dateOfBirth
分别为?
为了更清楚,如果这是 C,我会这样做:
memset(myPersonStructVariable, 0, sizeof(Person));
或者在现代 C 中:
struct Person myPersonStructVariable = {0};