gpt4 book ai didi

java - 共享空数组

转载 作者:行者123 更新时间:2023-11-29 05:07:56 24 4
gpt4 key购买 nike

假设我有这样的实用程序类:

public class IntArrays
{
public static final int[] EMPTY = new int[0];

public static int[] empty() { return EMPTY; }

// ...
}

分发和重用这样一个长度为 0 的共享数组是否安全,或者我是否应该删除该字段并将方法替换为

public static int[] empty() { return new int[0]; }

最佳答案

在第一个示例中,您有一个实际共享的数组。

在第二个例子中,你每次都创建一个数组,所以它实际上并没有共享。

Is it save to distribute and re-use such a shared array with length 0

所以只有第一个例子,实现了这一点。

尽管 new int[0] 是不可变的,但它有一把锁。当您共享锁时,每次创建对象都会有不同的行为。即它有一些状态,即使它是间接的。

如果您不想公开字段 EMPTY,您可以将其设为私有(private)。

关于java - 共享空数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29731043/

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