当前位置: 首页 > 知识库问答 >
问题:

在Java构造中设置数组值[副本]

能业
2023-03-14

有没有一种方法可以在构造时设置数组的默认值?我正在初始化一个字符数组,

char[] chars = new char[value];

但是,每个元素的默认值是decimal0,而不是decimal48,后者是“0”的ASCII字符。

我发现的最接近的事情是:

Arrays.fill(chars, '0');

它用所需的十进制值48填充数组

但这是在数组已经创建得充满0值之后调用的,这可能需要更多的时间?

共有1个答案

洪逸清
2023-03-14

根据JLS§15.10.2。数组创建表达式的运行时计算

...

然后,如果出现单个DimExpr,则创建指定长度的一维数组,并将数组的每个组件初始化为其默认值(§4.12.5)。

...

char基元的默认值是\u0000

您可以按照JLS§10.6使用数组初始化器语法。避免重新分配数组元素的数组初始化器:

char[] chars = { 'a', 'b', 'c' };

但这只有在编译过程中知道数组大小的情况下才会起作用。

 类似资料:
  • 问题内容: 如何构建接收另一个点(x,y)并复制其值的复制构造函数? 我决定签名:,但我不知道该写些什么… Point类看起来像: 我试过了: 但我几乎可以肯定我会做得更好。 n 问题答案: 不,您的尝试 绝对没问题…(我已经更正了参数类型。) 我很想进行make 和final的操作,并且使该类final的操作,但这是因为我喜欢不可变的类型。其他人肯定有不同意见:) 在继承层次结构上进行克隆比较棘

  • 我想在Oracle对象类型中设置默认值,但它需要在构造函数中传递所有属性。 是否存在,以便我可以只传递构造函数中需要默认值的必需属性。 请参阅以下详细信息 现在,在上面的例子中,若我只在构造函数中传递Col3和Col4属性作为默认值,那个么它就不起作用了。请参见下面的示例。

  • 问题内容: 在React组件中,最好是在Constructor()或componentWillMount()中设置初始状态? 要么 问题答案: 使用ES6类时,最好在构造函数中使用,但不要使用API,而是这样做: 另外,如果您有可用的类属性(Bab期1),则可以执行以下操作:

  • 我想在构造函数中初始化二维数组。但是,我在类中声明数组的实例变量时遇到了一个问题。如果我这样做就错了: 我怎么解决这个问题?

  • 我正在构建一个API并使用swagger测试endpoint。我有一个产品: 在这个DTO中,我想使用在我的代码中使用的Price类。价格类如下所示: 但是由于私有设置器在类中使用,我无法使用swagger设置这些值(它在这些上具有属性)。我真的很喜欢这种拥有私有设置器并使用构造函数设置值的方法,顺便说一句,这是公共的。有没有办法我可以使用swagger为类设置值,并且仍然在属性上使用私有设置器?

  • 我目前在我的大学学习初级java课程,仍然在学习编程的基础知识。这周我们一直在学习构造函数,我被困在本周任务的后半部分,所以任何帮助都将不胜感激。 实验室的第二部分(我一直坚持的部分)的说明如下: 为类Truck编写完整的代码,如下面的类图所示。一定不要在构造函数中使用重复的代码。例如,具有2个参数的构造函数应该调用具有1个参数的构造函数来设置柱体的值。 这些是它想让我做的构造函数。 任何关于如何