gpt4 book ai didi

java - C# 风格的对象初始化器在 Java 中是否可用

转载 作者:IT老高 更新时间:2023-10-28 20:39:36 25 4
gpt4 key购买 nike

喜欢这个? http://weblogs.asp.net/dwahlin/archive/2007/09/09/c-3-0-features-object-initializers.aspx

Person p = new Person()
{
FirstName = "John",
LastName = "Doe",
Address = new Address()
{
Street = "1234 St.",
City = "Phoenix"
}
};

最佳答案

其实有!

Person p = new Person()
{{
setFirstName("John");
setLastName("Doe");
setAddress(new Address()
{{
setStreet("1234 St.");
setCity("Phoenix");
}});
}};

甚至:

Person p = new Person()
{{
firstName = "John";
lastName = "Doe";
address = new Address()
{{
street = "1234 St.";
city = "Phoenix";
}});
}};

这称为双括号初始化。但是我会避免这个成语,因为它有一些意想不到的副作用,例如这种语法实际上创建了一个匿名内部类 Person$1Address$

另见

关于java - C# 风格的对象初始化器在 Java 中是否可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9108531/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com