关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。
昨天关门了。
改进这个问题
我正在使用一些代码,我不想改变超过必要的。但我遇到了一个问题。我想更改 arrayOfStrings
视情况而定 isConditionMet()
. 我不能在静态初始化块中执行此操作。
class Scratch {
static final String[] arrayOfStrings = {"one", "two", "three"};
//...
}
如何在不使用构造函数或更改数据结构的情况下有条件地设置数组的内容?
1条答案
按热度按时间vsdwdz231#
方法
isConditionMet
必须也是static
,否则无法基于方法的此类条件结果示例化数组。然后可以使用三元条件运算符:
... 或静态初始化块(imho,在这种特殊情况下可读性更强):
记住:如果数组
static
,方法(和初始化块)也必须static
. 如果数组是non-static
,方法可以是static
/non-static
,但初始化块也必须non-static
如果使用。